`
zj0713001
  • 浏览: 6684 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

zz Ruby迭代器each、map、collect、inject

阅读更多
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学习中的基础知识,需要的朋友可以参考下

    Ruby 迭代器知识汇总

    在这里我们将讨论两种迭代器,each 和 collect。 Ruby each 迭代器 each 迭代器返回数组或哈希的所有元素。 语法 collection.each do |variable| code end 为集合中的每个元素执行 code。在这里,集合可以是数组...

    简要说明Ruby中的迭代器

    在这里我们将讨论两种迭代器,each 和 collect。 Ruby each 迭代器 each 迭代器返回数组或哈希的所有元素。 语法 collection.each do |variable| code end 为集合中的每个元素执行 code。在这里,集合可以是数组...

    Ruby菜鸟入门指南.md

    这份文档是Ruby编程入门指南,主要内容包括: ...9. 迭代器的使用方式,如each, collect等,代替了常见的for循环。 10. 真假值的规则。 总的来说,这份指南介绍了Ruby作为一种纯面向对象语言的一些核心理念和语法特性。

    viter:V编程语言的迭代器

    迭代器。 用法示例 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 ...

    电子-DataCollect.map

    电子-DataCollect.map,单片机/嵌入式STM32-F0/F1/F2

    com.google.common.collect jar包

    google-collect-1.0-rc1.jar 用于获取Lists.newArrayList

    square_array-ruby-apply-000

    使用迭代器并实现自己的逻辑,不要使用.each以外的任何内置数组方法(例如.collect , .inject )。 您可以问自己几个问题: 在数组上调用.each的返回值是多少? 如何在数组的每个元素上进行操作,还如何收集或存储...

    COLLECT

    COLLECT

    abap collect的用法与实例

    abap collect的用法与实例 abap collect的用法与实例

    com.google.common.collect

    com.google.common.collect.Maps; Maps.newConcurrentMap();

    Oracle 中使用 fetch bulk collect into 批量效率的读取游标数据

    Oracle 中使用 fetch bulk collect into 批量效率的读取游标数据

    square_array-v-000

    使用迭代器并实现自己的逻辑,不要使用.each以外的任何内置数组方法(例如.collect , .inject )。 您可以问自己几个问题: 在数组上调用.each的返回值是多少? 如何在数组的每个元素上进行操作,还如何收集或...

    square_array-001-prework-web

    使用迭代器并实现自己的逻辑,不要使用.each以外的任何内置数组方法(例如.collect , .inject )。 您可以问自己几个问题: 在数组上调用.each的返回值是什么? 如何在数组的每个元素上进行操作,还如何收集或...

    square_array-online-web-prework

    使用迭代器并实现自己的逻辑,不要使用.each以外的任何内置数组方法(例如.collect , .inject )。 您可以问自己几个问题: 在数组上调用.each的返回值是什么? 如何在数组的每个元素上进行操作,还如何收集或存储...

    square_array-online-web-sp-000

    使用迭代器并实现自己的逻辑,不要使用.each以外的任何内置数组方法(例如.collect , .inject )。 您可以问自己几个问题: 在数组上调用.each的返回值是什么? 如何在数组的每个元素上进行操作,还如何收集或存储...

    解决启动Azkaban报错问题:java.lang.NoSuchMethodError: com.google.common.collect.ImmutableMap.toImmutableMap

    主要介绍了启动Azkaban报错:java.lang.NoSuchMethodError: com.google.common.collect.ImmutableMap.toImmutableMap,需要的朋友可以参考下

    使用BULK COLLECT, MERGE 语句提高sql执行效率

    详细介绍了使用 BULK COLLECT 进行批量操作 提高sql的执行效率 使用MERGE INTO USING 一条sql搞定 新增和修改 使用connect by 进行递归树查询

Global site tag (gtag.js) - Google Analytics