四、嵌入字符串
在 ruby 中我非常喜欢的一个功能就是嵌入字符串,所谓嵌入就是指直接将变量写入引号的形式,这样做的好处是直观和节约了连字符出现的频率。比如在 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 的另一个酷酷的功能就是 % 呈现方法,这是一种替代引号或其它分隔字符的表示方法。下面第一句直接在双引号内插入双引号是错误的,但使用 % 呈现后就可以直接在字符串内插入双引号了。
# 错误 print "ruby "% 呈现法"" # 应用 % 呈现方法 print %q#ruby "% 呈现"#
# 正确 print %q~ruby "% 呈现"~ print %q.ruby "% 呈现". print %q*ruby "% 呈现"* # 在 % 呈现中插入呈现分隔符 print %q*\* ruby "% 呈现"* # 错误 print %q** ruby "% 呈现"* print %qbruby "% 呈现"b print %q<ruby "% 呈现"<
%q 替代双引号 => %q#ruby "% 呈现"# 等同于 "ruby \"% 呈现\""
%q 替代单引号
%r 替代正则表达式 => %r#([\d\w/])*# 等同于 /([\d\w\/)*/
%s 使嵌入字符串、符号失效 => print %s@#{__line__}@ 原样输出
%w 替代字符串数组
4
您可能感兴趣的文章:
如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!
网友评论