ruby - 收集和每个之间的明显区别?

标签 ruby collections each

<分区>

使用数组,collect 和 each 之间的主要区别是什么?偏爱?

some = []

some.collect do {|x| puts x}

some.each do |x|
    puts x
end

最佳答案

array = [] 是定义数组对象的快捷方式(长格式:array = Array.new)

Array#collect(和 Array#map)根据 block 中传递的代码返回一个新数组。 Array#each 对数组的每个元素执行一个操作(由 block 定义)。

我会像这样使用收集:

array = [1, 2, 3]
array2 = array.collect {|val| val + 1}

array.inspect # => "[1, 2, 3]"
array2.inspect # => "[2, 3, 4]"

每个都是这样的:

array = [1, 2, 3]
array.each {|val| puts val + 1 }
# >> 2
# >> 3
# >> 4
array.inspect # => "[1, 2, 3]"

希望这有助于...

关于ruby - 收集和每个之间的明显区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3630670/

相关文章:

ruby-on-rails - 在回形针和 RMagick 中将现有图像调整为新样式

arrays - 按索引映射两个数组

javascript - 将一个 .each 函数中的值获取到另一个 .each 函数中

javascript - 这个 jQuery each() 循环只返回最后一种颜色(Color Thief)

ruby-on-rails - 使用夹具数据填充生产服务器

ruby - 在 RSpec 中捕获 STDOUT

c# - 在 C# 中,从一个集合中删除另一个集合的最快方法是什么?

java - 在开始迭代之前检查 Java 集合是否为空有用吗?

sorting - Backbone.js 中的分页集合

arrays - 在 Ruby 中循环数组数组时出现问题