我有数组a = [-1,-2,-3,-4]
和b = [-1,-2,-3,4]
如何确保a
只包含负整数?
我可以检查一些元素是否为负a.select(&:negative?) == true
和b.select(&:negative?) == true
但我需要知道b.select(&:negative?).only == true
最佳答案
您可以在这里使用Enumerable#all?
:
[-1,-2,-3,-4].all?(&:negative?)
#=> true
顺便说一句,我想你对这里发生的事情感到困惑:
a.select(&:negative?) == true
这不是检查所有元素是否都是负的。事实上,它是将结果的负数数组与
false
进行比较:[-1,-2,-3,-4] == false
当然,它总是返回
false
,因为只有false
等于false
。