一、Ruby字符串中存在chop和chomp的內置函數數組
str.chomp 從字符串末尾移除記錄分隔符($/),一般是 \n。若是沒有記錄分隔符,則不進行任何操做。 str.chomp! 與 chomp 相同,可是 str 會發生變化並返回。 str.chop 移除 str 中的最後一個字符。 str.chop! 與 chop 相同,可是 str 會發生變化並返回。
二、字符串中split分割ruby
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"]
三、array.uniq 返回一個新的數組,移除了 array 中的重複值函數
array.uniq! 從 self 中移除重複元素。若是沒有變化(也就是說,未找到重複),則返回 nil。ui
四、ruby模塊編碼
$LOAD_PATH << '.' #讓Ruby知道必須在當前目錄中搜索被引用的文件 require_relative #在不想使用$LOAD_PATH的狀況下,能夠從一個相對目錄引用文件 include modulename #在類中嵌入模塊 require 「文件名」 #在include模塊以前,須要先使用require語句引用該文件 當一個類繼承了兩個以上的模塊,咱們能夠說sample使用了多重繼承或mixin
五、ruby字符串spa
'這是一個 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 改變字符集
六、Ruby 比較符號 ==, === ,eql? , equal/code
== #判斷對象值是否相等 === #主要用於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