Ruby中的String對(duì)象學(xué)習(xí)筆記
1、String對(duì)象定義
String對(duì)象的定義可以使用""和'',對(duì)于單純的字符串,推薦使用''進(jìn)行定義,效率比""高,""與''的區(qū)別在于,''內(nèi)的字符串定義后就是最終形態(tài),即使如\n換行符,也會(huì)原樣輸出,而""更像是一個(gè)表達(dá)式,解析器會(huì)針對(duì)其中的特殊字符進(jìn)行處理,然后才會(huì)輸出,如下示例代碼:
i = 100
s1 = 'The value of i variable is #{i}!\n' #The value of i variable is #{i}!\n [未輸出變量i的值,并且不換行]
s2 = "The value of i variable is #{i}!\n" #The value of i variable is 100! [輸出i變量的值,并且換行]
String還有另外一種定義方式,可以定義出具有格式的字符串,如下示例代碼:
s3 = <<OK_STR
The value
of i variable
is #{i}
OK_STR
輸出:
The value
of i variable
is 100
特殊的字符串,使用``定義的字符串,會(huì)被當(dāng)作系統(tǒng)命令直接發(fā)送給操作系統(tǒng)執(zhí)行,如下示例代碼:
puts `ruby -v` #輸出:ruby 1.9.3p392 (2013-02-22 revision 39386) [x86_64-linux]
puts `rails -v` #輸出:Rails 3.2.8
2、String對(duì)象操作
Ruby中String對(duì)象的操作方法非常多,可以參考Ruby官方提供的API文檔http://ruby-doc.org/core-2.0/String.html,這里總結(jié)點(diǎn)String在其他語言中不常見的操作方式,如下示例代碼:
x = 'Ho!'
y = 'Hello from '
z = 'Hello'
puts x*30 #輸出:Ho!Ho!Ho!
puts y+self.to_s #輸出:Hello from main
puts z<<' '<<'world!' #輸出:Hello world!
puts x.object_id #輸出:19196800
puts (x*3).object_id #輸出:19196600
puts y.object_id #輸出:19196780
puts (y+self.to_s).object_id #輸出:19196520
puts z.object_id #輸出:19196760
puts (z<<' '<<'world!').object_id #輸出:19196760
從上邊代碼可知,<<是String的append操作,返回的是原對(duì)象,+和*操作,返回的是新對(duì)象。
3、可以使用數(shù)組下標(biāo)的方式操作字符串中的字符
m = 'TaoBao'
#改變第二個(gè)字符a為o
m[1] = 'o'
puts m
#截取第4到第6個(gè)字符的子字符串
puts m[3..5]
相關(guān)文章
ruby 學(xué)習(xí)筆記(1) 初識(shí)語法
Ruby是一種簡(jiǎn)單的面向?qū)ο缶幊陶Z言,十分容易上手,并且功能強(qiáng)大,ruby/ruby on rails從2007年就一直獲獎(jiǎng)無數(shù),下面這篇文章給大家詳細(xì)介紹下,需要的朋友可以參考下2010-02-02
Ruby解析處理YAML和json格式數(shù)據(jù)
這篇文章主要介紹了Ruby對(duì)YAML和json格式的數(shù)據(jù)處理方法,json序列化、json反序列化,json解析等操作,需要的朋友可以參考下2022-04-04
PHP實(shí)現(xiàn)的一個(gè)保存遠(yuǎn)程文件到本地的函數(shù)分享
這篇文章主要介紹了PHP實(shí)現(xiàn)的一個(gè)保存遠(yuǎn)程文件到本地的函數(shù)分享,本文直接給出實(shí)現(xiàn)代碼和使用方法,需要的朋友可以參考下2014-11-11
Ruby on Rails中jquery_ujs組件拖慢速度的問題解決
這篇文章主要介紹了Ruby on Rails中jquery ujs組件拖慢速度的問題解決,jquery_ujs是Rails框架中涉及AJAX交互的組件,需要的朋友可以參考下2015-11-11

