Ruby中使用each和collect进行迭代的用法
迭代器是什么也不是,但集合的方法支持。存储一组数据成员的对象被称为集合。在Ruby中,数组和哈希可以被称为集合.
迭代器返回一个集合的所有元素,一前一后。我们将讨论两个迭代器,在这里,每个收集。让我们来看看这些细节.
Ruby each 迭代:
每个迭代器返回一个数组的所有元素或哈希.
语法:
collection.each do |variable| code end
在集合中的每个元素执行的代码。这里收集可能是一个数组或ruby哈希.
例子:
#!/usr/bin/ruby ary = [1,2,3,4,5] ary.each do |i| puts i end
这将产生结果如下:
1 2 3 4 5
你总是与块关联的每个迭代。它返回数组的每个值,逐个块。该值存储在变量i,然后在屏幕上显示.
Ruby collect 迭代:
收集的迭代器返回一个集合的所有元素.
语法:
collection = collection.collect
收集方法并不总是需要块。收集方法返回整个集合,无论它是一个数组或哈希.
例如:
#!/usr/bin/ruby a = [1,2,3,4,5] b = Array.new b = a.collect puts b
这将产生以下结果:
1 2 3 4 5
注: 收集方法是不正确的方式做阵列之间的复制。还有另一种方法称为克隆,应使用一个数组复制到另一个阵列.
您通常使用的收集方法,当你想要做的东西与每个值,以获取新的阵列。例如,这段代码包含在每个值的10倍,产生一个数组b.
#!/usr/bin/ruby a = [1,2,3,4,5] b = a.collect{|x| 10*x} puts b
这将产生以下结果:
10 20 30 40 50
相关推荐
-
使用Ruby on Rails快速开发web应用的教程实例
Ruby on Rails 正在令整个 Web 开发领域受到震憾.让我们首先了解底层的技术: Ruby 是一门免费的.简单的.直观的.可扩展的.可移植的.解释的脚本语言,用于快速而简单的面向对象编程.类似于 Perl,它支持 处理文本文件和执行系统管理任务的很多特性. Rails 是用 Ruby 编写的一款完整的.开放源代码的 Web 框架,目的是使用更简单而且更少的代码编写实际使用的应用程序. 作为一个完整的框架,这意味着 Rails 中的所有的层都是为协同工作而构造的,所以您不必自己
-
在Ruby on Rails中使用AJAX的教程
如果没有听说过 Rails,那么欢迎您外星旅行归来,近几年大概只有那个地方没有听说过 Ruby on Rails 了.Rails 最吸引人的地方是能够很快地建立功能完备的应用程序并运行起来.Rails 为 Ajax 而内置集成的 Prototype.js 库可以轻松快速地创建所谓的富 Internet 应用程序. 本文将逐步引导您创建 Rails 应用程序.然后深入分析如何利用 Ajax 特性编写从服务器上读写数据的 JavaScript 代码. 从容起步 Ajax 之旅--Ajax 技术资源中
-
Ruby on Rails中MVC结构的数据传递解析
如果读者已经开发过基于 Rails 的应用,但对其 MVC 间的数据传递还有诸多困惑,那么恭喜您,本文正是要总结梳理 Rails 数据传递的方法和技巧.Ruby on Rails 3(以下统称为 Rails 3)是当前的主要发布版本,本文所述及的内容和代码都基于此版本. Rails 3 简介 Ruby on Rails 是一个 Ruby 实现.采用 MVC 模式的开源 Web 应用开发框架,能够提供 Web 应用的全套解决方案.它的"习惯约定优于配置"的设计哲理,使得 Web 开发人员
-
Ruby中使用each和collect进行迭代的用法
迭代器是什么也不是,但集合的方法支持.存储一组数据成员的对象被称为集合.在Ruby中,数组和哈希可以被称为集合. 迭代器返回一个集合的所有元素,一前一后.我们将讨论两个迭代器,在这里,每个收集.让我们来看看这些细节. Ruby each 迭代: 每个迭代器返回一个数组的所有元素或哈希. 语法: collection.each do |variable| code end 在集合中的每个元素执行的代码.这里收集可能是一个数组或ruby哈希. 例子: #!/usr/bin/ruby ary = [1
-
Ruby中的迭代器详解
D瓜哥最近想做一个网站,另外,老早就有学习一门动态语言的想法,满足着两个条件的编程语言中,Ruby.Python是最合适的两种语言.现在Ruby on Rails如日中天,光芒万丈!所以,就选定了Ruby,从零开始学习. 前天看了Ruby的迭代器,对于我这个只学过Java.C/C++等的人来说,绝对是眼前一亮的感觉!而且是光彩夺目:没想到迭代器还可以这么玩,太简练太方便而且特别强大!然后,D瓜哥就迫不及待的想写一篇文章给大家介绍介绍Ruby的迭代器! 迭代器简介 先简单介绍一下迭代器. 1.一个
-
Ruby中的block代码块学习教程
1.什么是代码块 在Ruby中,{}或do...end之间的代码是一个代码块.代码块只能出现在一个方法的后边,它紧接在方法最后一个参数的同一行上,由yield关键字调用.例如: [1,2,3,4,5].each { |i| puts i } [1,2,3,4,5].each do |i| puts i end 块变量:以yield关键字调用block也可以传递参数,block中竖线(|)之间给出的参数名用于接收来自yield的参数. 竖线之间(如上例中的 | i |)的变量被称作块变量,作用和一
-
详解Ruby中的循环语句的用法
Ruby 中的循环用于执行相同的代码块若干次.本章节将详细介绍 Ruby 支持的所有循环语句. Ruby while 语句 语法 while conditional [do] code end 当 conditional 为真时,执行 code.while 循环的 conditional 通过保留字 do.一个换行符.反斜线 \ 或一个分号 ; ,来与 code 分离开. 实例 #!/usr/bin/ruby $i = 0 $num = 5 while $i < $num do puts("
-
Ruby中使用Block、Proc、lambda实现闭包
闭包(Closure),是指未绑定到任何对象的自由代码,闭包中的代码与任何对象和全局变量无关,只与执行此段代码的上下文相关. 今天我们简要的看一下ruby中的闭包实现. Ruby中的闭包实现有:Block,Proc,Lambada. 首先,我们来看Block. 复制代码 代码如下: ary = [1,2,3,4] ary.collect! do |a| a*a end ary.each do |a| puts a end 这段代码,我们使用了Array对象的block方法,将ary中的每个元素平
-
简要说明Ruby中的迭代器
迭代器是集合支持的方法.存储一组数据成员的对象称为集合.在 Ruby 中,数组和散列可以称之为集合. 迭代器返回集合的所有元素,一个接着一个.在这里我们将讨论两种迭代器,each 和 collect. Ruby each 迭代器 each 迭代器返回数组或哈希的所有元素. 语法 collection.each do |variable| code end 为集合中的每个元素执行 code.在这里,集合可以是数组或哈希. 实例 #!/usr/bin/ruby ary = [1,2,3,4,5] a
-
Ruby中Block和迭代器的使用讲解
我们来简单地描述Ruby的一个独特特性.Block,一种可以和方法调用相关联的代码块,几乎就像参数一样.这是一个不可思议的功能强大的特性. 可以用Block实现回调(但它比Java的匿名内部(anonymous inner)类更简单),传递一组代码(但它远比c的函数指针灵活),以及实现迭代器. Block只是在花括号或者do...end之间的一组代码. {puts "Hello"} #this is a block do ### club.enroll(person) #and so
-
Ruby中的循环语句的用法教程
Ruby中的循环用于执行相同的代码块指定的次数.本章将详细介绍Ruby支持的循环语句. Ruby while 语句: 语法: while conditional [do] code end 执行代码当条件为true时.while循环的条件是代码中的保留字,换行,反斜杠(\)或一个分号隔开. 实例: #!/usr/bin/ruby $i = 0 $num = 5 while $i < $num do puts("Inside the loop i = #$i" ) $i +=
-
ruby中并发并行与全局锁详解
前言 本文主要给大家介绍了关于ruby并发并行和全局锁的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 并发和并行 在开发时,我们经常会接触到两个概念: 并发和并行,几乎所有谈到并发和并行的文章都会提到一点: 并发并不等于并行.那么如何理解这句话呢? 并发: 厨师同时接收到了2个客人点了的菜单需要处理. 顺序执行: 如果只有一个厨师,那么他只能一个菜单接着一个菜单的去完成. 并行执行: 如果有两个厨师,那么就可以并行,两个人一起做菜. 将这个例子扩展到我们的web开发
-
Ruby中Hash哈希结构的基本操作方法小结
关于哈希 先来了解一下Hash的基本思路: 设要存储对象的个数为num, 那么我们就用len个内存单元来存储它们(len>=num); 以每个对象ki的关键字为自变量,用一个函数h(ki)来映射出ki的内存地址,也就是ki的下标,将ki对象的元素内容全部存入这个地址中就行了.这个就是Hash的基本思路. 为什么要用一个函数来映射出它们的地址单元呢? 假设现在我要存储4个元素 13 7 14 11 显然,我们可以用数组来存.也就是:a[1] = 13; a[2] = 7; a[3] = 14; a
随机推荐
- Access 数据类型与 MS SQL 数据类型的相应
- FileZilla Server ftp 服务器下通过alias别名设置虚拟目录(多个分区)
- javascript几个易错点记录
- JavaScript sup方法入门实例(把字符串显示为上标)
- PHP版微信公众平台红包API
- PHP.MVC的模板标签系统(五)
- Mysql联合查询UNION和UNION ALL的使用介绍
- javascript实现的HashMap类代码
- WML学习之六 事件
- JavaScript屏蔽指定区域内右键菜单
- C/C++ 实现递归和栈逆序字符串的实例
- 用shell脚本在mysql表中批量插入数据的方法
- jQuery 使用手册(六)
- 用jquery实现学校的校历(asp.net+jquery ui 1.72)
- javascript解决小数的加减乘除精度丢失的方案
- Nodejs进阶之服务端字符编解码和乱码处理
- Android性能优化之利用Rxlifecycle解决RxJava内存泄漏详解
- 一个简单的自动发送邮件系统(一)
- SQL Server数据库的三种恢复模式:简单恢复模式、完整恢复模式和大容量日志恢复模式
- Shell中exit和return的区别讲解