我有阵列a = [-1,-2,-3,-4]
和b = [-1,-2,-3,4]
我怎样才能确保a
只包含负整数?我可以检查一些元素是负a.select(&:negative?) == true
和b.select(&:negative?) == true
但我需要知道这一点 b.select(&:negative?).only == true
And*_*eko 14
你可以在这里使用Enumerable#all?
:
[-1,-2,-3,-4].all?(&:negative?)
#=> true
Run Code Online (Sandbox Code Playgroud)
顺便说一下,我觉得你对这里发生的事情感到困惑:
a.select(&:negative?) == true
Run Code Online (Sandbox Code Playgroud)
这不是检查所有元素是否为负数.事实上,将得到的负数数组与false
以下数据进行比较:
[-1,-2,-3,-4] == false
Run Code Online (Sandbox Code Playgroud)
当然,它总会回归false
,因为只有false
等于false
.
您可以简单地考虑最大值:
arr = [-1,-2,-3,-4]
arr.empty? ? false : arr.max < 0
#=> true
Run Code Online (Sandbox Code Playgroud)
如果数组只包含整数.如果数组可能包含非整数的元素,则必须首先确认只存在整数.
arr = [-1,-2,-3,-4, "cat", { a:1 }]
return false unless arr.all? { |e| e.is_a?(Fixnum) }
#=> false returned
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2959 次 |
最近记录: |