Ruby基礎

一、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 中移除重複元素。若是沒有變化(也就是說,未找到重複),則返回 nilui

 

四、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
相關文章
相關標籤/搜索