0
我有此代码Array#select方法如何在Ruby中正确工作?为什么它返回一个空数组或原始数组?
arr = [1, 2, 3].select do |n|
n + 2
puts n
end
输出是
1
2
3
并且返回值是
[]
然后我有这样的代码
arr = [1, 2, 3].select do |n|
n + 2
end
和返回值是
[1, 2, 3]
所以我知道阵列#选择调用块通过在从自连续元素的,返回包含该块返回一个真值的那些元素的数组。这些代码示例中的行为如何,因此我可以理解它为什么会返回这些值。
为什么在第一个代码示例中它不返回[nil,nil,nil]? –
它只使用返回真值的元素来创建Array的子集。返回nil的元素根本不会被添加。 – msergeant
其实我知道为什么......因为ruby中的所有东西都是真的,除了假和零? –