RoR*_*RoR 12 ruby collections each
使用数组收集和每个数据之间的主要区别是什么?偏爱?
some = []
some.collect do {|x| puts x}
some.each do |x|
puts x
end
Run Code Online (Sandbox Code Playgroud)
Bri*_*ian 36
array = []是一条捷径,以限定一个数组对象(长形式:array = Array.new)
Array#collect(和Array#map)根据块中传递的代码返回一个新数组. Array#each对数组的每个元素执行一个操作(由块定义).
我会像这样使用收集:
array = [1, 2, 3]
array2 = array.collect {|val| val + 1}
array.inspect # => "[1, 2, 3]"
array2.inspect # => "[2, 3, 4]"
Run Code Online (Sandbox Code Playgroud)
每个人都这样:
array = [1, 2, 3]
array.each {|val| puts val + 1 }
# >> 2
# >> 3
# >> 4
array.inspect # => "[1, 2, 3]"
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助...
collect( 或map) 将在新数组中“保存” do 块的返回值并返回它,例如:
some = [1,2,3,10]
some_plus_one = some.collect {|x| x + 1}
# some_plus_one == [2,3,4,11]
Run Code Online (Sandbox Code Playgroud)
each 只会为每个项目执行 do 块,不会保存返回值。
| 归档时间: |
|
| 查看次数: |
7188 次 |
| 最近记录: |