/[Rr]uby/ # 匹配 "Ruby" 或者 "ruby"
/\d{5}/ # 匹配5个连续的数字
1..3 # 代表所有的1到3之间的值,相当于1<= x <=3
1...3 # 代表一到3之间的值,但不包括3,相当于 1 <= x < 3
正则表达式和序列通过==来判断是否相等,除此之外还定义了一个===来测试是模式否匹配或者序列中是否包含某个成员。
Ruby 中的case(类似于Java或C中的switch语句) 语句使用===来匹配每一个判断的值,所以这中方式通常称为条件相等操作符,通常与用条件判断,例如:
# 根据出生日期判断使用那个名字
generation = case birthyear
when 1946..1963: "Baby Boomer"
when 1964..1976: "Generation X"
when 1978..2000: "Generation Y"
else nil
end
# 定义一个方法来与用户进行确认
def are_you_sure? # 定义一个方法,用到了问号标记
while true # 开始循环
print "Are you sure? [y/n]: " # 向用户提问
response = gets # 获得答案
case response # 开始条件判断
when /^[yY]/ # 如果条件值的首字母为Y或者y
return true # 返回true
when /^[nN]/, /^$/ # 如果条件值以n,N开头或者为空
return false # 返回false
end
end
end
No comments:
Post a Comment