Ruby语言入门(7)- 控制语句

上一篇 / 下一篇  2013-01-29 16:17:49 / 个人分类:语言


条件分支

if 表达式 [then]
  表达式 ...
[elsif 表达式 [then]
  表达式 ... ]
...
[else
  表达式 ... ]
end

if age >= 12 then
  print "adult fee\n"
elseif age <6 then
 print "no fee\n"
else
  print "child fee\n"
end


if 修饰句

print "adult fee\n" if age >= 12

unless 表达式 [then]
  表达式 ...
[else
  表达式 ... ]
end

unless baby?
  feed_meat
else
  feed_milk
end

unless 修饰句

print "stop\n" unless valid(passwd)

case [表达式]
[when 表达式 [, 表达式] ...[, `*' 表达式] [then]
  表达式..]..
[when `*' 表达式 [then]
  表达式..]..
[else
  表达式..]
end

case $age
when 0 .. 2
  "baby"
when 3 .. 6
  "little child"
when 7 .. 12
  "child"
when 13 .. 18
  "youth"
else
  "adult"
end


循环

while 表达式 [do]
   ...
end

ary = [0,2,4,8,16,32,64,128,256,512,1024]
i = 0
while i < ary.length
  print ary[i]
  i += 1
end


表达式 while 表达式


sleep(60) while io_not_ready?

until 表达式 [do]
   ...
end

until f.eof?
  print f.gets
end


表达式 until 表达式

print(f.gets) until f.eof?

for  表达式  in 表达式 [do]
  表达式..
end

for i in [1, 2, 3]
  print i*2, "\n"
end


过程

break将退出最内层的循环。所谓循环是指,下列之一

while
until
for
迭代

next将跳转到最内侧循环的头部

redo不检查循环条件,重新开始当前循环。

retry,意味着重启迭代器

return结束方法的运行,且把表达式的值设定为方法的返回值。若给出了2个以上的表达式,则将把这些表达式化为一个数组,然后把该数组设定为方法的返回值。若省略表达式,将返回值设为nil。




TAG:

 

评分:0

我来说两句

日历

« 2024-03-25  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 148762
  • 日志数: 185
  • 文件数: 6
  • 建立时间: 2007-08-06
  • 更新时间: 2015-01-06

RSS订阅

Open Toolbar