我对红宝石中的Enumerator#reject有点困惑。考虑以下代码:
(1..10).select {|i| i % 3 == 0 || i % 5 == 0 } => [3, 5, 6, 9, 10]
以下行不应该等效吗?
(1..10).reject {|i| i % 3 != 0 || i % 5 != 0 } => []
如果我只在拒绝方法上使用一个条件,则结果符合预期。但如果我包含 OR 运算符,结果结果是空的。有人可以为我澄清这一点。
(1..10).reject {|i| i % 3 != 0} => [3, 6, 9]