最近刚做好一个站,rails 3,大家捧场看看,谢谢!www.yo945.com
今天公司停电了,早回家了一小时,昨天睡觉前看了几页,心痒痒的,还没试过,赶紧来试试
Ruby里除了if,又加了个unless关键字,相当于if not,相信以后写逻辑判断的时候条理会清楚不少
昨天看的语法中,最令我喜欢的,可能是case关键字,相当于C#里面的switch-case-default组合,不过相对于传统编译型语言只能是数字(能支持string就了不得了),Ruby里面的case太强大了,除了数字,字符串,范围,甚至连正则式都可以
print "输入数字或字母:"
a = gets
case a
when 1
puts "你输入的是数字1"
when "a"
puts "你输入的是字母a"
when /^\d+$/ #正则式,完全匹配数字
puts "你输入的是数字"
when /^[a-zA-Z]+$/ #正则式,完全匹配大小写字母
puts "你输入的是英文"
else
puts "输入错误"
end
a = gets
case a
when 1
puts "你输入的是数字1"
when "a"
puts "你输入的是字母a"
when /^\d+$/ #正则式,完全匹配数字
puts "你输入的是数字"
when /^[a-zA-Z]+$/ #正则式,完全匹配大小写字母
puts "你输入的是英文"
else
puts "输入错误"
end
在Ruby中,和一种范围类型,1..5即表示从1到5的集合(包括1和5),要测试一个数字是不是在这个范围内,可以把集合写前面测试
(1..9)===4 #测试4是否在1-9的范围内,要把集合写前面,用三个等于号
Ruby里面的循环,暂时是我看到的,方式最多的语言了,《The Ruby Way》列出了整整10种,不过有些是类自带的,我就不记录了,反正后面会详细讲到
其他几种循环,都是数据类型的方法,以后用到再说
#最普通的
i = 0
while i < 10 do
puts i
i += 1
end
#以往没用过的新关键字,从字面就能很容易理解,循环直到条件成立
i = 0
until i >= 10 do
puts i
i += 1
end
#这个和C#里面的foreach差不多了,非常喜欢的一种方式
list = %w[1 2 3 4 5] #既然用Ruby,就接收它的别扭吧
for num in list
puts num
end
#loop居然不是关键字是个方法~~
i = 0
loop do
puts i
i += 1
break if i >= 10 #if或unless都成
end
i = 0
while i < 10 do
puts i
i += 1
end
#以往没用过的新关键字,从字面就能很容易理解,循环直到条件成立
i = 0
until i >= 10 do
puts i
i += 1
end
#这个和C#里面的foreach差不多了,非常喜欢的一种方式
list = %w[1 2 3 4 5] #既然用Ruby,就接收它的别扭吧
for num in list
puts num
end
#loop居然不是关键字是个方法~~
i = 0
loop do
puts i
i += 1
break if i >= 10 #if或unless都成
end
又翻了几页,发现《The Ruby Way》对于基本语法,讲的不是很多,后面很多都是针对特定类或方法来讲(从目录上看),从网上找点语法资料先看一下,就不继续记了