欢迎来到 AI 中文社区(简称 AI 中文社),这里是学习交流 AI 人工智能技术的中文社区。 为了更好的体验,本站推荐使用 Chrome 浏览器。
全部教程·
脚本语言·
Ruby教程
[目录]
·
Ruby 迭代器
Ruby 教程
Ruby 简介
Ruby 环境
Ruby 安装 - Linux
Ruby 安装 - Windows
Ruby 命令行选项
Ruby 环境变量
Ruby 中文编码
Ruby 语法
Ruby 数据类型
Ruby 类和对象
Ruby 类实例
Ruby 变量
Ruby 运算符
Ruby 注释
Ruby 条件判断
Ruby 循环
Ruby 方法
Ruby 块
Ruby 模块(Module)
Ruby 字符串(String)
Ruby 数组(Array)
Ruby 哈希(Hash)
Ruby 日期时间
Ruby 范围(Range)
Ruby 迭代器
Ruby 文件的输入与输出
Rub File 类和方法
Ruby Dir 类和方法
Ruby 异常
Ruby 高级教程
Ruby 面向对象 Ruby 正则表达式 Ruby 数据库访问 Ruby 连接 MySQL Ruby CGI 编程 Ruby CGI方法 Ruby CGI Cookie Ruby CGI Session Ruby 发送邮件 Ruby Socket 编程 XML, XSLT 和 XPath Ruby Web Service 应用 Ruby JSON Ruby RubyGems
Ruby 教程
Ruby 简介
Ruby 环境
Ruby 安装 - Linux
Ruby 安装 - Windows
Ruby 命令行选项
Ruby 环境变量
Ruby 中文编码
Ruby 语法
Ruby 数据类型
Ruby 类和对象
Ruby 类实例
Ruby 变量
Ruby 运算符
Ruby 注释
Ruby 条件判断
Ruby 循环
Ruby 方法
Ruby 块
Ruby 模块(Module)
Ruby 字符串(String)
Ruby 数组(Array)
Ruby 哈希(Hash)
Ruby 日期时间
Ruby 范围(Range)
Ruby 迭代器
Ruby 文件的输入与输出
Rub File 类和方法
Ruby Dir 类和方法
Ruby 异常
Ruby 高级教程
Ruby 面向对象 Ruby 正则表达式 Ruby 数据库访问 Ruby 连接 MySQL Ruby CGI 编程 Ruby CGI方法 Ruby CGI Cookie Ruby CGI Session Ruby 发送邮件 Ruby Socket 编程 XML, XSLT 和 XPath Ruby Web Service 应用 Ruby JSON Ruby RubyGemsRuby 迭代器
迭代器(iterator)用来重复多次做相同的事。
迭代器是集合支持的方法。存储一组数据成员的对象称为集合。在 Ruby 中,数组(Array)和哈希(Hash)可以称之为集合。
迭代器返回集合的所有元素,一个接着一个。在这里我们将讨论两种迭代器,each 和 collect。
1. Ruby each 迭代器
each 迭代器返回数组或哈希的所有元素。
1) 语法
collection.each do |variable| code end
为集合中的每个元素执行 code。在这里,集合可以是数组或哈希。
2) 范例
#!/usr/bin/ruby ary = [1,2,3,4,5] ary.each do |i| puts i end
以上实例运行输出结果为:
1 2 3 4 5
each 迭代器总是与一个块关联。它向块返回数组的每个值,一个接着一个。值被存储在变量 i 中,然后显示在屏幕上。
2. Ruby collect 迭代器
collect 迭代器返回集合的所有元素。
1) 语法
collection = collection.collect
collect 方法不需要总是与一个块关联。collect 方法返回整个集合,不管它是数组或者是哈希。
2) 范例
#!/usr/bin/ruby
a = [1,2,3,4,5]
b = Array.new
b = a.collect{ |x|x }
puts b
以上实例运行输出结果为:
1 2 3 4 5
注意:collect 方法不是数组间进行复制的正确方式。这里有另一个称为 clone 的方法,用于复制一个数组到另一个数组。
当您想要对每个值进行一些操作以便获得新的数组时,您通常使用 collect 方法。例如,下面的代码会生成一个数组,其值是 a 中每个值的 10 倍。
#!/usr/bin/ruby
a = [1,2,3,4,5]
b = a.collect{|x| 10*x}
puts b
以上实例运行输出结果为:
10 20 30 40 50
下一章:Ruby 文件的输入与输出
Ruby 提供了一整套 I/O 相关的方法,在内核(Kernel)模块中实现。所有的 I/O 方法派生自 IO 类。类 IO 提供了所有基础的方法,比如 read、 write、 gets、 puts、 readline、 getc 和 printf。
AI 中文社