确保多个变量具有不同的值

我必须比较多个变量并检查它们是否不同。 有没有顺利的方法来做到这一点? 我可以

var1 = 3 var2 = "test" var3 = 100 if var1 != var2 && var1 != var3 && var2 != var3 ... end 

但是如果变量列表越来越长,这就变得不方便了。 我想过像var1 != var2 != var3这样的东西,但这不起作用。 所以也许有一种简单的Ruby方法可以做到这一点。

你可以使用uniq的破坏性对应物uniq! 确定数组是否包含重复项。 如果没有找到重复项,则返回nil

 if ![var1, var2, var3].uniq! # no duplicates end 

一种方法可能是使用Array#uniq。

 inputs = [var1, var2, var3] if inputs.uniq == inputs # ... end # or if inputs.uniq.length == inputs.length # ... end 

你可以这样做

 a = [var1. var2, var3] if a.length == a.uniq.length .. end 

您可以使用映射来存储它们,并将其长度与输入变量进行比较。