小编Inp*_*ame的帖子

Ruby:检查所有数组元素是否相等

我对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特有的方法

谢谢.

ruby arrays equality

7
推荐指数
3
解决办法
5927
查看次数

标签 统计

arrays ×1

equality ×1

ruby ×1