我对Ruby代码有点'问题'.我想检查一个数组的所有元素是否相等.
例如,假设我有一个只有5的数组:
arr = [5, 5, 5, 5, 5]
Run Code Online (Sandbox Code Playgroud)
我知道我可以做点什么
arr[0] == arr[1] == arr[2] == arr[3] # == arr[4] == ...
Run Code Online (Sandbox Code Playgroud)
但是对于大型阵列来说这是不可能的,而且在我看来也不像Ruby那样.我们可以通过这样做来改进它:
def all_equal?(arr)
for i in 0..(arr.size-2)
if arr[i] != arr[i+1] then
return false
end
end
true
end
Run Code Online (Sandbox Code Playgroud)
但我也认为这很难看.那么有没有内置/更好/更短(更多Ruby风格)的方式来做到这一点?
TL; DR什么是检查数组是否只包含一个不同元素(例如 [5, 5, 5])的最短/最Ruby特有的方法?
谢谢.