• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >ruby > Ruby基础知识之基本流程控制

Ruby基础知识之基本流程控制

作者:junjie 字体:[增加 减小] 来源:互联网

junjie 通过本文主要向大家介绍了ruby 基础语法下载,ruby基础,ruby基础教程,ruby基础教程 第4版,ruby基础教程 pdf等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

(一)条件判断
条件判断为基本式:
if expression
       code
end
</div>
表达式如果不是false或nil,则可执行code部分,所以对于else来说,如果为false或nil,则else下的代码是要执行的。要注意的是表达式与执行代码之间要有分界符:例如换行或分号或是then关键字。
多条件分支情况下,除了可以用else if之外,可以用省略式:elsif
if expression1
       code1
elsif expression2
       code2
else
       code3
end
</div>
如果通过then做为分界符:
if expression then code end,那么可以把if直接做为分界符:code if expression,这时,if称为表达式修饰符。先写执行再写执行条件。要注意的是:如果成为表达式修饰符,则执行代码与if之间不能带换行符。虽然这种方式也是一种条件句,但我觉得它更像一种修饰。

对于if判断来说,它可以返回执行代码后的值。

与if条件类似,还有unless判断,它和if相反。

在C#中,多分支语句有个switch case开关,在ruby中,则是case when。case when非常灵活。

(二)循环

循环条件是while do或until do,而位于它们之间的是循环体。
现条件if相似,循环语句也可以用分界符的形式做紧凑循环,这时,省略了换行符和end。
x=1
puts x,x+=1 while x<10
 
while x<20 do
  puts x
  x+=1
end
</div>
 
在C#中有for循环应用非常广泛,在ruby中,for循环与foreach的作用类似,用于对可枚举对象进行迭代。
for var in collection do
       code
end
</div>
其中collection是带有each迭代方法的对象;do关键字可选(可以用换行符或分号替代)。
arr=%w[1 2 3 4 5 6]
for item in arr
  print item<<" "
end
 
hash1={:a=>1,:b=>2,:c=>3}
for key,value in hash1
  print "#{key}=#{value}"<<" "
end
</div>

(三)迭代器和枚举
除了循环控制while、for、until外,有种特殊的方法用于循环,也就是迭代器,它是ruby最重要的特性之一。
(1)数值迭代器
upto:为一个区间内的所有整数调用其关联的代码块。左边为起始,右边为结束。
downto:与upto相反。
times:调用关系的代码一定的次数,且把0到n-1传递给代码。
step:以一定的步长,迭代增加到指定数值。第二个参数为步长。
1.upto(5){|x|print "#{x} "}
puts
5.downto(1){|x|print "#{x} "}
puts
3.times{|x|print "#{x} "}
puts
3.step(5,0.5){|x|print "#{x} "}
 </div>
(2)枚举迭代器
each:将迭代元素传递给代码。
collect:为调用它的枚举的每个元素执行关联代码后,组合到一起做为一个数组返回。
select:为调用它的枚举的每个元素执行关联代码后,如果为真,组合到一起做为一个数组返回。
reject:与select相反。它把为false或nil的元素做为一个数据返回。
inject:求累积值迭代。通过两个参数调用关联代码块,第一个参数是前次调用代码块的累积值,第二个参数指调用进行迭代的下一个元素。如果有传递参数,则做为第一个参数的初始值,如果没有,则把第一次进行迭代的元素值做为初始值。
a1=[1,2,3]
a2=a1.map{|x| x+1}
a3=a2.collect{|x| x+1}
print a2,a3
 
#o偶数
a5=a1.select{|x|x%2==0}
print a5
 
a6=a1.reject{|x|x%2==0}
print a6
puts
a7=a1.inject{|sum,x|x+sum}
puts a7
a8=a1.inject(10){|sum,x|x+sum}
puts a8
</div>

</div>

您可能想查找下面的文章:

  • ruby声明式语法的实现例子
  • Ruby的语法和语言特性总结
  • Ruby语法笔记
  • Ruby编程中的语法使用风格推荐
  • Ruby中使用正则表达式的基础指引
  • Ruby中关于模块的一些基础知识
  • Ruby中一些基本语法知识点的罗列汇总
  • Ruby基础知识之类
  • Ruby基础知识之方法、代码段
  • Ruby基础知识之基本流程控制

相关文章

  • Ruby中使用Block、Proc、lambda实现闭包
  • ruby 过程对象 解析
  • Ruby中的反射(Reflection)应用实例
  • Ruby和元编程之万物皆为对象
  • Ruby编程中的赋值相关操作
  • Ruby中的数组和散列表的使用详解
  • Ruby 之 class 中的 private、 protected、public
  • 在 Ubuntu 12.04 Server 上安装部署 Ruby on Rails 应用
  • 设计模式中的观察者模式在Ruby编程中的运用实例解析
  • ruby 迭代器使用方法

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Ruby中的Mechanize的使用教程
    • Ruby和元编程之万物皆为对象
    • 以MVC的思维方式来理解Ruby on Rails框架的设计结构
    • 在博客中屏蔽垃圾留言的简单方法
    • Ruby编写HTML脚本替换小程序的实例分享
    • 浅析Ruby中继承和消息的相关知识
    • Ruby 魔法 学习笔记之一
    • Ruby环境下安装使用bundler来管理多版本的gem
    • 详解Ruby设计模式编程中对单例模式的运用
    • Ruby的安装与运行

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有