• Ruby基础


    1、Ruby字符串中存在chop和chomp的内置函数

    str.chomp
    从字符串末尾移除记录分隔符($/),通常是 
    。如果没有记录分隔符,则不进行任何操作。
    str.chomp!
    与 chomp 相同,但是 str 会发生变化并返回。
    str.chop
    移除 str 中的最后一个字符。
    str.chop!
    与 chop 相同,但是 str 会发生变化并返回。

    2、字符串中split分割

    irb(main):001:0> str = "/var/log/juju/sgfags.log, /var/log/juju/ssfasgbar.log"
    irb(main):004:0> str.chomp.split(/,s*/)
    => ["/var/log/juju/sgfags.log", "/var/log/juju/ssfasgbar.log"]

    3、array.uniq  返回一个新的数组,移除了 array 中的重复值

    array.uniq!  从 self 中移除重复元素。如果没有变化(也就是说,未找到重复),则返回 nil

    4、ruby模块

     $LOAD_PATH << '.'       #让Ruby知道必须在当前目录中搜索被引用的文件
    
    require_relative    #在不想使用$LOAD_PATH的情况下,可以从一个相对目录引用文件
    
    include modulename   #在类中嵌入模块
    
    require  “文件名”     #在include模块之前,需要先使用require语句引用该文件
    
    当一个类继承了两个以上的模块,我们可以说sample使用了多重继承或mixin

    5、ruby字符串

    '这是一个 Ruby 程序的字符串'      #单引号字符串
    
    
    #双引号字符串
    #!/usr/bin/ruby
    # -*- coding: UTF-8 -*-
     
    name1 = "Joe"
    name2 = "Mary"
    puts "你好 #{name1},  #{name2} 在哪?"
    
    
    
    #%q 和 %Q 来引导的字符串变量
    #%q是单引号引用规则,%Q是双引号引用规则,后面再接一个 (! [ { 等等的开始界定符和与 } ] ) 等等的末尾界定符
    #跟在 q 或 Q 后面的字符是分界符.分界符可以是任意一个非字母数字的单字节字符.如:[,{,(,<,!等,字符串会一直读取到发现相匹配的结束符为止
    #!/usr/bin/ruby # -*- coding: UTF-8 -*- desc1 = %Q{Ruby 的字符串可以使用 ''""。} desc2 = %q|Ruby 的字符串可以使用 ''""。| puts desc1 puts desc2


    #字符编码
    #程序开头使用 $KCODE 改变字符集

     6、Ruby 比较符号 ==, === ,eql? , equal/

    ==  #判断对象值是否相等
    
    ===  #主要用于case语句的相容判断
    (1..10) === 5 #=> true: 5属于range 1..10
    /d+/ === '123'  #=> true: 字符串匹配这个模式
    String === 's'   #=> true: "s" 是一个字符串类的实例
    :s === 's'    #=> false
    
    
    eql?对象hash值判断,Object里面 “eql?”和“==”等价,通常可以把“eql?”看作比“==”更严格的相等
    1 == 1.0     #=> true
    1.eql? 1.0   #=> false
    
    str1 = 'a'
    str2 = 'a'
    puts str1 == str2 #=> true
    
    str1.hash #=> 104582539
    str2.hash #=> 104582539
    puts str1.eql? str2 #=> hash值相等 true
    
    str1.object_id #=> 20804940
    str2.object_id #=> 20804920
    puts str1.equal? str2 #=> object_id不相等 false
    
  • 相关阅读:
    适配器模式(2)
    设计模式之6大设计原则(1)
    Mybatis框架基础支持层——反射工具箱之MetaClass(7)
    Mybatis框架基础支持层——反射工具箱之实体属性Property工具集(6)
    Mybatis框架基础支持层——反射工具箱之对象工厂ObjectFactory&DefaultObjectFactory(5)
    Mybatis框架基础支持层——反射工具箱之泛型解析工具TypeParameterResolver(4)
    Guava动态调用方法
    数据库的数据同步
    springboot(二十二)-sharding-jdbc-读写分离
    springboot(二十一)-集成memcached
  • 原文地址:https://www.cnblogs.com/lw-monster/p/11842703.html
Copyright © 2020-2023  润新知