如果我有三个或更多这样的物体:

a = 4
b = 4
c = 4
d = 2

用什么干净的ruby风格来判断它们是否相等?是否有针对三个或更多元素运行相等性测试的定制方法?
我想我可以这样做:
arrays = [a,b,c,d].map{|x| [x]}
arrays.first == arrays.reduce(:&) ? true : false

这似乎起作用,但感觉有点笨拙,而且其他开发者很难阅读。

最佳答案

[a,b,c,d].any?{|x| x != a}


array.any?{|x| x != array.first}

或者,全部?方法可能更直观地读取一些:
array.all? {|x| x == array.first }

关于ruby - 对三个或更多对象进行相等性测试,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35295181/

10-12 22:28