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);
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
# 原樣輸出 # Company: #@@companyName print 'Company: #@@companyName' # 原樣輸出(包括空格和換行) print ' Company: .org Employee Id: unknow
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)"#
# 正確 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)"<
%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)文章
Ruby環(huán)境下安裝使用bundler來管理多版本的gem
這篇文章主要介紹了Ruby環(huán)境下安裝使用bundler來管理多版本的gem的方法,舉了Ruby On Rails中的應(yīng)用實(shí)例來進(jìn)行演示,需要的朋友可以參考下2016-06-06Ruby中的類Google Map/Reduce框架Skynet介紹
這篇文章主要介紹了Ruby中的類Google Map/Reduce框架Skynet介紹,Skynet是一款創(chuàng)建分布式應(yīng)用程序的框架,需要的朋友可以參考下2015-01-01Luhn算法學(xué)習(xí)及其Ruby版實(shí)現(xiàn)代碼示例
Luhn算法主要北用來進(jìn)行數(shù)字驗(yàn)證,尤其是卡號身份證號等,這里我們就來看一下Luhn算法學(xué)習(xí)及其Ruby版實(shí)現(xiàn)代碼示例:2016-05-05