设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 4135|回复: 1
打印 上一主题 下一主题

[已经解决] 请教inject、select、collect的用法

[复制链接]

Lv2.观梦者

梦石
0
星屑
270
在线时间
1373 小时
注册时间
2005-10-16
帖子
5113

贵宾

1
发表于 2012-2-2 20:00:17 | 显示全部楼层
inject
首次运算时将inject的参数带入块中第一个参数,数组中的元素依次代入块中的第二个参数中,并做块中定义的运算。比如
  1. a=[1, 2, 3]
  2. b = a.inject(5) { |r, o| r+ o} # b => 11
  3. 相当于
  4. r=5
  5. o=1
  6. r=r+o
  7. o=2
  8. r=r+o
  9. o=3
  10. r=r+o  # 11
复制代码
select
保留数组中满足块中表达式的元素,简单说就是过滤。
  1. a = [1,2,3,4,5,6,7]
  2. b = a.select{|o| o%2 == 0} # b => [2,4,6]
复制代码
collect
可以让数组中的元素依次带入到块中的运算后,生成一个新数组。
  1. a = [1,2,3]
  2. b=a.collect{|o| o.to_s}  # b => ["1", "2", "3"]
复制代码

点评

太感谢了  发表于 2012-2-2 20:04
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-18 11:51

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表