2013-09-24 2 views
13

키를 인쇄하려고합니다. 값 현재 코드를 실행하려고하면 오류가 계속 발생합니다.루비 인쇄 해시 키 및 값

코드 :

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

나는 같은 줄에이 작업을 수행 할 수있는 방법을 알아낼 수 없습니다. 나는 < < 기호를 사용하는 것과 같은 다양한 구현을 시도했다. 또한 print를 사용하여 여러 개의 puts 문을 사용하고 두 값을 문자열에 추가하고이를 인쇄했습니다.

+2

어떤 에러가 발생합니까? – sawa

+0

당신이 제공 한 약간의 정보를 기반으로 가정을 만들었지 만 정확한 오류와 'output.inspect'를 사용하여 해쉬의 내용을 알려주면 도움이 될 것입니다 –

+0

"내가 알아낼 수없는 것을 알 수 없습니다. 같은 줄에서해라. " 한 줄에 여러 개의 키 : 값 쌍을 출력하려고합니까? 성취하려는 결과물의 예를 제시 할 수 있습니까? – cduhn

답변

21

Hash의 내용에 따라 key을 기호 일 수 있으므로 문자열로 변환해야 할 수도 있습니다. 는 전화를하려고하기 때문에

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

이유 key 실제로 문자열이 아닌 경우, 오류를 얻고있다 : 나는 일을 사용 문자열 보간을 제안 무엇

puts key.to_s + ' : ' + value 

또는, 방법 +은 무엇이든 key입니다. + 메서드가없는 경우 오류가 발생합니다.

+3

+1 문자열 보간 – engineersmnky