but*_*y85 0 ruby arrays select arraycollection
我有这个代码
arr = [1, 2, 3].select do |n|
n + 2
puts n
end
Run Code Online (Sandbox Code Playgroud)
输出是
1
2
3
Run Code Online (Sandbox Code Playgroud)
返回值为
[]
Run Code Online (Sandbox Code Playgroud)
然后我有这个代码
arr = [1, 2, 3].select do |n|
n + 2
end
Run Code Online (Sandbox Code Playgroud)
返回值为
[1, 2, 3]
Run Code Online (Sandbox Code Playgroud)
所以我知道 Array#select 调用从 self 传入连续元素的块,返回一个包含块返回真值的元素的数组。它在这些代码示例中的行为如何,这样我就可以理解它为什么返回这些值。
Array#select
使用从块返回 true 的数组元素创建一个新数组。
在第一种情况下,块的最后一行是一条puts
始终返回 nil 的语句。因此[]
。
在第二种情况下,块的最后一行始终是数字,因此始终为真。因此输出等于输入。
归档时间: |
|
查看次数: |
4744 次 |
最近记录: |