2013-09-24 17 views
13

Próbuję wydrukować klucz: wartość Obecnie wciąż pojawiają się błędy podczas próby uruchomienia moich kodów.Klucz do mieszania ruby ​​i wartość

Kod:

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

nie mogę wymyślić sposób, aby to zrobić na tej samej linii. Próbowałem różnych implementacji, takich jak używanie symbolu < <. Bawiłem się także drukiem, używając wielu instrukcji put i dołączając obie wartości do ciągu i drukując je.

+2

Jakie błędy dostałeś? – sawa

+0

Założyłem założenie na podstawie niewielkiej ilości informacji, które podałeś, ale pomogłoby to, gdybyś podał dokładny błąd i zawartość skrótu za pomocą polecenia "output.inspect" –

+0

. Proszę wyjaśnić, co masz na myśli, mówiąc: "Nie mogę wymyślić sposobu, aby zrób to w tej samej linii. " Czy próbujesz wydrukować wiele par klucz: wartość w jednym wierszu? Czy możesz podać przykład wyników, które próbujesz osiągnąć? – cduhn

Odpowiedz

21

W zależności od zawartości telefonu Hash może być konieczne przekonwertowanie key na ciąg znaków, ponieważ może to być symbol.

puts key.to_s + ' : ' + value 

Albo, co chciałbym zaproponować robi, interpolację stosowanie wyrażenie:

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

Powodem są coraz błąd, jeśli key nie jest w istocie ciągiem, to dlatego, że stara się wywołać metoda + na czymkolwiek jest key. Jeśli nie ma metody +, pojawi się błąd.

+3

+1 dla interpolacji ciągów znaków – engineersmnky

Powiązane problemy