puedo generar unas pocas líneas de código que va a hacer esto, pero me pregunto si hay una manera agradable Rubyesque limpia de hacer esto. En caso de que no he sido claro, lo que estoy buscando es un método de matriz que devolverá true si se les da (por ejemplo) o [3,3,3,3,3]
["rabbits","rabbits","rabbits"]
pero volverá falsa con [1,2,3,4,5]
o ["rabbits","rabbits","hares"]
.¿Cómo compruebo si todos los elementos de una matriz son idénticos?
Gracias
Eso es muy elegante. Puedo usar el .uniq.length == 1 directamente en mi código en lugar de la forma en que lo ha hecho (solo lo estoy usando una vez, así que lo mantengo SECO). Sería bueno si hubiera un built.same_values? método. No necesito preocuparme por el caso de la matriz vacía en mi código, ya que a) no debería aparecer en mi situación yb) si lo hiciera, me gustaría que devuelva falso. Gracias. – brad
Tenga en cuenta que 'uniq' utiliza' hash' y 'eql?' Y no '==' que pueden ser o no lo que usted quiere. –
Se podría, por supuesto, extender esto a las matrices anidadas con == 1 self.flatten.uniq.lenth –