我有数组a = [-1,-2,-3,-4]b = [-1,-2,-3,4]
如何确保a只包含负整数?
我可以检查一些元素是否为负a.select(&:negative?) == trueb.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

09-26 07:07