Ruby入门
http://tech.ddvip.com 2008年01月18日 社区交流
本文详细介绍Ruby入门
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
"
15 print "Employee ID: #@empId
"
16 # 伪变量不能省略大括号
17 print "lines: #{__LINE__}
"
18 end
19 end
20end
21
22emp = Company::Employee.new
23emp.setEmpId("001")
24emp.display
Ruby 的嵌入字符串只能在双引号中使用,因为解释器会原样输出单引号中的内容。Ruby 的单引号就有点 C# 中的 @"" 的感觉。
# 原样输出
# Company: #@@companyName
print 'Company: #@@companyName'
# 原样输出(包括空格和换行)
print '
Company: .org
Employee Id: unknow
% 呈现
Ruby 的另一个酷酷的功能就是 % 呈现方法,这是一种替代引号或其它分隔字符的表示方法。下面第一句直接在双引号内插入双引号是错误的,但使用 % 呈现后就可以直接在字符串内插入双引号了。
# 错误
print "Ruby "% 呈现法""
# 应用 % 呈现方法
print %Q#Ruby "% 呈现"#
在 % 呈现中,Q 是呈现标识、! 是呈现分隔符。呈现标识声明替代哪种分隔字符,! 则是一个自定义的分隔符。呈现分隔符只要前后一致就可以了,但不能选择字母和 < 字符做为呈现分隔符。如果要在呈现方法中插入呈现字符就必须使用 字符。
# 正确
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#([dw/])*# 等同于 /([dw/)*/
%s 使嵌入字符串、符号失效 => print %s@#{__LINE__}@ 原样输出
%w 替代字符串数组
五、正则表达式之反向引用
Ruby 和 Perl 一样,对正则表达式的天然支持都是它们的优势所在,懂得 Perl 的朋友可以看出,Ruby 的正则表达式很多地方和 Perl 都是如出一辙的。
反向引用就是引用正则表达式中被括号括起来的模式,下面两行的模式就是相同的,只是第二句采用了反向引用的形式。
pat1 = /([dw])-([dw])/
pat2 = /([dw])-1/
需要注意的是反向引用的括号必须位于引用位置的左边。另外,如果在反向引用之后想要紧接着匹配一个数字,那么必须把反向引用表达式括起来。
pat1 = /([dw])-(1)0/
pat2 = /([dw])-10/
# 0
print pat1 =~ "1-10"
# nil
print pat2 =~ "1-10"
责编:豆豆技术应用