Ruby学习笔记(二)

最近刚做好一个站,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

在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


又翻了几页,发现《The Ruby Way》对于基本语法,讲的不是很多,后面很多都是针对特定类或方法来讲(从目录上看),从网上找点语法资料先看一下,就不继续记了

原文地址:https://www.cnblogs.com/varlxj/p/1389457.html