欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Ruby入門介紹第4/5頁

 更新時(shí)間:2007年10月20日 19:00:36   作者:  

四、嵌入字符串
在 Ruby 中我非常喜歡的一個(gè)功能就是嵌入字符串,所謂嵌入就是指直接將變量寫入引號的形式,這樣做的好處是直觀和節(jié)約了連字符出現(xiàn)的頻率。比如在 C# 中我們可以編寫下面的代碼。
string val = "value"; string printVal = "value: " + val; // 或者 string printVal = String.Format("value: {0}", val);
但在 Ruby 中可以采用嵌入字符串的形式來節(jié)約一些代碼(我想這里正體現(xiàn)了 Ruby 的優(yōu)雅)。
val = "Value" printVal = "value: #{val}"
嵌入字符串的形式是非常簡單的,只需將變量名放到 # 字符后面的大括號中就可以了。而對于類變量、成員變量和全局變量來說,甚至可以連大括號也可以省略掉(偽變量則不能省略大括號)。
1module Company 2 class Employee 3 # 類變量 4 @@companyName = ".org" 5 # 成員變量 6 @empId 7 8 def setEmpId(val) 9 @empId = val 10 end 11 12 def display() 13 # 省略了大括號 14 print "Company: #@@companyName\n" 15 print "Employee ID: #@empId\n" 16 # 偽變量不能省略大括號 17 print "lines: #{__LINE__}\n" 18 end 19 end 20end 21 22emp = Company::Employee.new 23emp.setEmpId("001") 24emp.display
Ruby 的嵌入字符串只能在雙引號中使用,因?yàn)榻忉屍鲿瓨虞敵鰡我栔械膬?nèi)容。Ruby 的單引號就有點(diǎn) C# 中的 @"" 的感覺。
# 原樣輸出 # Company: #@@companyName print 'Company: #@@companyName' # 原樣輸出(包括空格和換行) print ' Company: .org Employee Id: unknow
% 呈現(xiàn)

Ruby 的另一個(gè)酷酷的功能就是 % 呈現(xiàn)方法,這是一種替代引號或其它分隔字符的表示方法。下面第一句直接在雙引號內(nèi)插入雙引號是錯(cuò)誤的,但使用 % 呈現(xiàn)后就可以直接在字符串內(nèi)插入雙引號了。
# 錯(cuò)誤 print "Ruby "% 呈現(xiàn)法"" # 應(yīng)用 % 呈現(xiàn)方法 print %Q#Ruby "% 呈現(xiàn)"#
在 % 呈現(xiàn)中,Q 是呈現(xiàn)標(biāo)識、! 是呈現(xiàn)分隔符。呈現(xiàn)標(biāo)識聲明替代哪種分隔字符,! 則是一個(gè)自定義的分隔符。呈現(xiàn)分隔符只要前后一致就可以了,但不能選擇字母和 < 字符做為呈現(xiàn)分隔符。如果要在呈現(xiàn)方法中插入呈現(xiàn)字符就必須使用 \ 字符。
# 正確 print %Q~Ruby "% 呈現(xiàn)"~ print %Q.Ruby "% 呈現(xiàn)". print %Q*Ruby "% 呈現(xiàn)"* # 在 % 呈現(xiàn)中插入呈現(xiàn)分隔符 print %Q*\* Ruby "% 呈現(xiàn)"* # 錯(cuò)誤 print %Q** Ruby "% 呈現(xiàn)"* print %QbRuby "% 呈現(xiàn)"b print %Q<Ruby "% 呈現(xiàn)"<
% 呈現(xiàn)列表
%Q 替代雙引號 => %Q#Ruby "% 呈現(xiàn)"# 等同于 "Ruby \"% 呈現(xiàn)\""
%q 替代單引號
%r 替代正則表達(dá)式 => %r#([\d\w/])*# 等同于 /([\d\w\/)*/
%s 使嵌入字符串、符號失效 => print %s@#{__LINE__}@ 原樣輸出
%w 替代字符串?dāng)?shù)組

相關(guān)文章

最新評論