有趣的Ruby-学习笔记2
2015-12-22 00:21
555 查看
注释
单行注释就是 #多行注释比较奇怪是 用 = begin 和 =end#!/usr/bin/ruby -w puts "Hello, Ruby!" =begin 这是一个多行注释。 可扩展至任意数量的行。 但 =begin 和 =end 只能出现在第一行和最后一行。 =end
条件判断
if conditional [then] code... [elsif conditional [then] code...]... [else code...] end
if 表达式用于条件执行。值 false 和 nil 为假,其他值都为真。请注意,Ruby 使用 elsif,不是使用 else if 和 elif。
通常我们省略保留字 then 。若想在一行内写出完整的 if 式,则必须以 then 隔开条件式和程式区块。如下所示:
if a == 4 then a = 7 end
实例
#!/usr/bin/ruby # -*- coding: UTF-8 -*- x=1 if x > 2 puts "x 大于 2" elsif x <= 2 and x!=0 puts "x 是 1" else puts "无法得知 x 的值" end
Ruby循环
语法while conditional [do] code end或者
while conditional [:] code end
语法中 do 或 : 可以省略不写。但若要在一行内写出 while 式,则必须以 do 或 : 隔开条件式或程式区块。
语法
code while condition 或者 begin code end while conditional
until
比较特殊的是 until 语法until conditional [do] code end
实例
#!/usr/bin/ruby # -*- coding: UTF-8 -*- $i = 0 $num = 5 until $i > $num do puts("在循环语句中 i = #$i" ) $i +=1; end
for
for一般来说是使用率最高的循环方式for variable [, variable ...] in expression [do] code end比如
#!/usr/bin/ruby # -*- coding: UTF-8 -*- for i in 0..5 puts "局部变量的值为 #{i}" end
还可以这么写
#!/usr/bin/ruby # -*- coding: UTF-8 -*- (0..5).each do |i| puts "局部变量的值为 #{i}" end
next语句
相当于 continue 语句redo
可以重新开始循环,不过很容易造成死循环,不知道为什么设计这个语法#!/usr/bin/ruby # -*- coding: UTF-8 -*- for i in 0..5 if i < 2 then puts "局部变量的值为 #{i}" redo end end
这个会产生一个死循环
retry语句
如果 retry 出现在 begin 表达式的 rescue 子句中,则从 begin 主体的开头重新开始。begin do_something # 抛出的异常 rescue # 处理错误 retry # 重新从 begin 开始 end如果 retry 出现在迭代内、块内或者 for 表达式的主体内,则重新开始迭代调用。迭代的参数会重新评估。
for i in 1..5 retry if some_condition # 重新从 i == 1 开始 end实例
#!/usr/bin/ruby # -*- coding: UTF-8 -*- for i in 1..5 retry if i > 2 puts "局部变量的值为 #{i}" end然后这段又是一个死循环
相关文章推荐
- ruby.new
- ruby中的reject和reject!
- ruby中将数组转换成hash
- Ruby安装
- 通过ruby-build安装ruby&rubygem环境
- 新版PHP 7效能實測:Drupal 7能快70%,碎形計算大勝Ruby和Python
- RubyGems命令
- ruby中Block, Proc 和 Lambda 浅析
- rbenv-install-and-using
- OS X EI Capitan 系统 安装cocoa pod
- os x IE Capitan 系统 安装cocoa pod
- [ruby]ruby基本数据类型和流程控制
- 将你的Vim 打造成轻巧强大的IDE[转]
- windows下Ruby开发环境搭建
- 有趣的Ruby-学习笔记1
- Ruby元编程
- ruby 中hash转字符串以及字符串转hash
- ruby基础语法
- 如何在Mac OS X上安装 Ruby运行环境
- ruby1.8到2.1语法改变