10
votes

Comparaison à trois voies dans Ruby

Quel est le moyen le plus concis de s'assurer que trois variables sont toutes égales dans Ruby? Par exemple xxx


0 commentaires

3 Réponses :


3
votes
dog == cat && dog == chicken

0 commentaires

18
votes

La manière la plus concise pour trois éléments est (désolé de vous décevoir): xxx pré>

Bien sûr, vous pouvez toujours être intelligent si vous voulez ... P>

def all_equal?(*elements)
  elements.all? { |x| x == elements.first }
end


1 commentaires

Une façon cool d'écrire all_equal? ​​: chaque_cons (2) .Tous? {| x, y | x == y} .



0
votes

Numéros donnés pour la comparaison:

chien = 'animal' p>

cat = 'animal' p>

poulet = 'animal' p>

Chaussure = ' Vêtements ' P>

Créer un tableau: P>

arr = [dog, cat, chicken, shoe]
arr_length = arr.reject { |a| a != dog }.length

if arr_length == 0
puts "All numbers are equal"
end  


0 commentaires