web-dev-qa-db-fra.com

Ruby print clé et valeur de hachage

J'essaie d'imprimer la clé: valeur Actuellement, je continue à recevoir des erreurs lorsque j'essaie d'exécuter mes codes.

Le code:

output.each do |key, value|
    puts key + ' : ' + value
end

Je ne peux pas trouver un moyen de le faire sur la même ligne. J'ai essayé différentes implémentations, comme l'utilisation du symbole <<. J'ai également joué avec l'impression, en utilisant plusieurs instructions put, et en ajoutant les deux valeurs dans une chaîne et en l'imprimant.

18
thisisnotabus

Selon le contenu de votre Hash, vous devrez peut-être convertir le key en chaîne car il peut s'agir d'un symbole.

puts key.to_s + ' : ' + value

Ou, ce que je suggère de faire, utilisez l'interpolation de chaînes:

puts "#{key}:#{value}"

La raison pour laquelle vous obtenez une erreur, si key n'est en effet pas une chaîne, est qu'elle essaie d'appeler la méthode + quel que soit key. S'il n'a pas de +, vous obtiendrez une erreur.

25
Charles Caldwell