y4r*_*lav 13 ruby enumeration ruby-on-rails
首先,我在关于这些方法的文档中发现了两篇有用的文章:
all?:将集合的每个元素传递给给定的块.如果块永远不返回false或nil,则该方法返回true.
any?:将集合的每个元素传递给给定的块.如果块返回false或nil以外的值,则该方法返回true.
但是在空数组和散列的情况下,我得到了:
irb(main):004:0> [nil, "car", "bus"].all?
=> false
irb(main):005:0> ["nil", "car", "bus"].all?
=> true
irb(main):006:0> [].all?
=> true
irb(main):007:0> ["nil", "car", "bus"].any?
=> true
irb(main):008:0> [nil, "car", "bus"].any?
=> true
irb(main):009:0> [nil].any?
=> false
irb(main):010:0> [].any?
=> false
Run Code Online (Sandbox Code Playgroud)
有人可以向我解释为什么空数组给我false
的any?
方法和true
情况下all?
?
Kim*_*bel 16
如果块永远不返回false或nil,则该方法返回true.
因为块永远不会被调用,当然它永远不会返回false或nil,因此all
返回true.
同样适用于any
:
如果块返回false或nil以外的值,则该方法返回true.
由于块永远不会被调用,因此它永远不会返回false或nil以外的值,因此any
返回false.
归档时间: |
|
查看次数: |
10440 次 |
最近记录: |