each——连续访问集合的所有元素
collect—-从集合中获得各个元素传递给block,block返回的结果生成新的集合。
map——-同collect。
inject——遍历集合中的各个元素,将各个元素累积成返回一个值。
def debug(arr)
puts '--------'
puts arr
end
h = [1,2,3,4,5]
h1 = h
h1.each{|v|puts sprintf('values is:%s',v)}
h2 = h.collect{|x| [x,x*2]}
debug h2
h3 = h.map{|x| x*3 }
debug h3
h4 = h.inject{|sum,item| sum+item}
debug h4
结果:
values is:1
values is:2
values is:3
values is:4
values is:5
--------
1
2
2
4
3
6
4
8
5
10
--------
3
6
9
12
15
--------
15
分享到:
相关推荐
### Ruby中使用each和collect进行迭代的用法 在Ruby编程语言中,迭代是一种非常重要的概念,用于遍历数组、哈希等集合类型中的元素。本文将深入介绍`each`和`collect`这两个常用方法的基本原理及其应用方式,并通过...
本文将深入探讨Ruby中的两种主要迭代器:each和collect。 1. Ruby each 迭代器 each迭代器是最常用的迭代器之一,它遍历数组或哈希的所有元素,并对每个元素执行指定的代码块。例如: ```ruby ary = [1, 2, 3, 4,...
在这里我们将讨论两种迭代器,each 和 collect。 Ruby each 迭代器 each 迭代器返回数组或哈希的所有元素。 语法 collection.each do |variable| code end 为集合中的每个元素执行 code。在这里,集合可以是数组...
在Ruby编程语言中,迭代器(Iterator)是一个至关重要的概念,它允许我们遍历数据结构或执行一系列操作,而无需显式地暴露其内部结构。迭代器方法通常会调用一个代码块(Block),这个代码块可以在方法执行过程中被...
### Rust 编程艺术:迭代器与闭包的精妙运用 #### 一、Rust 语言概述 Rust 是一种高性能的系统级编程语言,它由 Mozilla 研究院发起,Graydon Hoare 设计,并于 2010 年首次发布。Rust 的设计目标在于提供内存安全...
这份文档是Ruby编程入门指南,主要内容包括: ...9. 迭代器的使用方式,如each, collect等,代替了常见的for循环。 10. 真假值的规则。 总的来说,这份指南介绍了Ruby作为一种纯面向对象语言的一些核心理念和语法特性。
此代码会立即创建一个包含三个元素的列表,无需额外的循环或迭代器。`Lists.newArrayList`也支持传入其他集合作为参数,快速构建新列表: ```java List<String> originalList = Arrays.asList("原列表元素"); List...
`Maps.newConcurrentMap()`是一个这样的方法,它用于创建一个新的并发映射(Concurrent Map)实例。并发映射在多线程环境下非常有用,因为它们可以保证在并发读写时的数据一致性。 在Java中,标准的`java.util....
迭代器。 用法示例 import viter fn main () { data := [ 1 , 2 , 3 , 4 , 5 ] out := viter. iter_int (data) . skip ( 1 ) . filter ( fn (i int ) bool { return i % 2 = = 1 }) . map_string ( fn (i ...
与`each`相似,但是使用索引来迭代。 ```ruby arr = [1, 2, 3] arr.each_index do |i| puts i end # 输出: 0 1 2 ``` **1.2.23 empty?** 检查数组是否为空。 ```ruby arr = [] result = arr.empty? # => true `...
Map, String> mapOfEmployees = employees.stream().collect( Collectors.toMap(e -> e.getEmpId(), e -> e.getEmpName())); 在上面的代码中,我们使用了Collectors.toMap()方法来将List转换为Map,key是empId,值...
在Ruby中,基本流程控制主要包括条件判断、循环语句以及迭代器和枚举。接下来,我们将深入探讨这三个主题。 (一)条件判断 Ruby中的条件判断主要有if、else、elsif和unless四种形式。if表达式后跟一个条件,如果...
首先,`Collect`类库的核心在于它对数组和迭代器对象的封装,提供了诸如`map`, `filter`, `each`, `reduce`等一系列链式操作的方法。这些方法帮助开发者更方便地处理数据,特别是在数据预处理、筛选、聚合等场景下。...
电子-DataCollect.map,单片机/嵌入式STM32-F0/F1/F2
`collect.js` 是一个专为前端设计的轻量级库,它提供了一个方便且无依赖性的包装器,用于处理数组和对象,大大简化了数据操作。在这个`collect.js.zip`压缩包中,包含的是`collect.js`的源码,命名为`collect.js-...
使用迭代器并实现自己的逻辑,不要使用.each以外的任何内置数组方法(例如.collect , .inject )。 您可以问自己几个问题: 在数组上调用.each的返回值是多少? 如何在数组的每个元素上进行操作,还如何收集或存储...