`
sitoto
  • 浏览: 124737 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

ruby的collect或者map

 
阅读更多

ids = @pages.collect { |p| p.id }.join(',')

 

ids类似: 23,32,53,64,155

 

取出所有符合条件的 id

 

 

说明:
each——连续访问集合的所有元素
collect—-从集合中获得各个元素传递给block,block返回的结果生成新的集合。
map——-同collect。
inject——遍历集合中的各个元素,将各个元素累积成返回一个值。

例子:

  1. def debug(arr)
  2.     puts '--------'
  3.     puts arr
  4. end
  5.  
  6. h = [1,2,3,4,5]
  7. h1 = h
  8. h1.each{|v|puts sprintf('values is:%s',v)}
  9.  
  10. h2 = h.collect{|x[x,x*2]}
  11. debug h2
  12.  
  13. h3 = h.map{|xx*3 }
  14. debug h3
  15.  
  16. h4 = h.inject{|sum,itemsum+item}
  17. debug h4    
结果:
  1. values is:1
  2. values is:2
  3. values is:3
  4. values is:4
  5. values is:5
  6. --------
  7. 1
  8. 2
  9. 2
  10. 4
  11. 3
  12. 6
  13. 4
  14. 8
  15. 5
  16. 10
  17. --------
  18. 3
  19. 6
  20. 9
  21. 12
  22. 15
  23. --------
  24. 15




names = %w[ruby rails java python cookoo firebody] 
等同于: 
names = ["ruby", "rails", "java", "python", "cookoo", "firebody"]
分享到:
评论

相关推荐

    Ruby中使用each和collect进行迭代的用法

    `collect`(又名`map`)方法也是一个强大的迭代器,它可以用来处理数组中的每个元素,并返回一个新的数组。与`each`不同的是,`collect`不仅遍历元素,还允许用户根据处理逻辑创建新的数组。 **语法:** ```ruby ...

    ruby 标准库

    ### Ruby标准库详解 #### 一、Array 类 在Ruby的标准库中,`Array`类提供了丰富的实例方法和类方法来处理数组。 ##### 1.1 Class methods **1.1.1 []** 用于创建一个新的数组。例如: ```ruby arr = [1, 2, 3]...

    map:您一直想要的ruby容器:有序的字符串符号无关紧要的哈希

    9. **迭代器**:`Map`也支持Ruby的各种迭代器,如`select`、`reject`、`collect`等,这些方法可以在遍历过程中根据条件筛选、转换或过滤元素。 10. **自定义比较**:`Map`可以使用`==`操作符与其他`Map`或哈希进行...

    ruby基础教程(第四版)第14章 字符串类1

    `Enumerator` 模块提供了一套灵活的方法,使得可以在不提供块的情况下对这些方法进行后续操作,如 `collect` 和 `map`。 最后,Ruby提供了清理字符串开头和结尾空格的方法,如 `strip`;转换字符大小写的方法,如 `...

    programming ruby

    `, `collect`, `detect`, `each_with_index`, `entries`, `find`, `find_all`, `grep`, `include?`, `inject`, `map`, `max`, `member?`, `min`, `partition`, `reject`, `select`, `sort`, `sort_by`, `to_a`, `zip...

    Ruby 迭代器知识汇总

    另一种常用的迭代器是`collect`(在某些版本的Ruby中也称为`map`)。`collect`迭代器不同于`each`,它不是简单地遍历元素,而是允许你在遍历过程中对每个元素应用一个转换函数,然后收集这些转换后的结果,形成一个...

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

    值得注意的是,Ruby允许使用then作为分隔符,或者直接将if作为表达式修饰符,将条件和执行代码写在同一行。表达式修饰符形式的if会返回执行代码的结果。与if相反,unless用于当条件为假时执行代码。 此外,Ruby还...

    简要说明Ruby中的迭代器

    接下来是`collect`迭代器,也被称为`map`。`collect`允许你对集合中的每个元素执行一个转换操作,并返回一个新的数组,包含了转换后的结果。它的语法如下: ```ruby new_collection = collection.collect { |item| ...

    举例讲解Ruby中迭代器Iterator的用法

    3. `collect`(也称为`map`):它将集合中的每个元素传递给Block,并使用Block的返回值构建一个新的数组。 ```ruby ["H", "A", "L"].collect { |x| x.succ } # 对每个元素调用 succ 方法并返回新数组,这里是 ["I...

    enumerables:实现Ruby可枚举方法

    2. map方法:也称为collect,它将集合中的每个元素通过一个块(block)进行处理,并返回一个新的数组,包含了所有处理后的结果。 ```ruby numbers = [1, 2, 3, 4, 5] squares = numbers.map { |num| num ** 2 } # ...

    Ruby枚举卡通集合实验室uci在线web9-pt-093019

    卡通收藏学习目标熟悉使用.collect或.map , .find和.include?等枚举器方法遍历数组的过程.include? 。 构建方法并控制其返回值。 使用if和else语句练习控制流。指示本实验中有四种方法可以完成: roll_call_dwarves...

    ruby-enumerables-cartoon-collections-lab-online-web-prework

    卡通收藏学习目标熟悉使用.collect或.map , .find和.include?等枚举器方法遍历数组的过程.include? 。 构建方法并控制其返回值。 使用if和else语句练习控制流。指示本实验中有四种方法可以完成: roll_call_dwarves...

    ruby-enumerables-cartoon-collections-lab-sea01-seng-ft-080320

    熟悉使用.collect或.map , .find和.include?等枚举器方法遍历数组的过程.include? 。 构建方法并控制其返回值。 使用if和else语句练习控制流。 指示 本实验中有四种方法可以完成: roll_call_dwarves summon_...

    中科院高级软件工程期末题库

    **collect**:也称为`map`,用于遍历集合并返回一个新的数组,新数组中的元素是原数组中元素经过指定操作后的结果。例如: ```ruby arr = [1, 2, 3] new_arr = arr.collect { |x| x * 2 } # new_arr 的值为 [2, 4, 6...

    underscore1.5.2中文帮助

    - **map**:通过一个转换函数创建一个新数组,别名为`collect`。 - **reduce**:将集合中的元素归结为单一值,也称为`inject`或`foldl`。 - **reduceRight**:与`reduce`类似,但是从右向左归结元素,别名为`...

    underscoreAPI文档(英文版pdf)

    - **map/collect** - **功能描述**:通过将列表中的每个元素通过转换函数(`iterator`)映射为新值,生成一个新的数组。 - **参数**: - `list`:要映射的列表。 - `iterator`:每次迭代调用的函数。 - **示例*...

    groovy快速入门指南(中文)

    Groovy 提供了对集合的强大支持,包括 `List` 和 `Map` 的多种操作方式。 **1. List** - **定义与访问** - Groovy 中的 `List` 可以包含不同类型的元素。 ```groovy list = [1, 2, 'hello', new java.util.Date...

    Groovy+quick+start.pdf

    - **说明**: Groovy 中的 `yield` 语法类似于 Python 和 Ruby 中的迭代器生成方式,可以通过闭包来创建迭代器。 - **示例代码**: ```groovy class Foo { static void main(String[] args) { // yield 代码示例 ...

Global site tag (gtag.js) - Google Analytics