我可以生成几行代码来实现这一点,但我想知道是否有一种干净的Rubyesque方法可以实现这一点.如果我还不清楚,我要寻找的是一个数组方法,如果给定[3,3,3,3,3]
或["rabbits","rabbits","rabbits"]
,它将返回true,但如果给定[1,2,3,4,5]
或["rabbits","rabbits","hares"]
,它将返回false.
谢谢
我可以生成几行代码来实现这一点,但我想知道是否有一种干净的Rubyesque方法可以实现这一点.如果我还不清楚,我要寻找的是一个数组方法,如果给定[3,3,3,3,3]
或["rabbits","rabbits","rabbits"]
,它将返回true,但如果给定[1,2,3,4,5]
或["rabbits","rabbits","hares"]
,它将返回false.
谢谢
class Array
def same_values?
self.uniq.length == 1
end
end
[1, 1, 1, 1].same_values?
[1, 2, 3, 4].same_values?
这个怎么样?但对于空数组,它返回false,您可以将其更改为<;=1,在这种情况下,它将返回true.取决于你需要什么.