я встречаю хэш, как этотКак напечатать хэш в два раза в рубине?
{"num"=>"219", "id"=>"219", "name"=>"219", "key"=>"", "ps"=>["ˈɑ:bitrəri", "ˈɑrbɪˌtrɛri"], "sent"=>[{"orig"=>"\nHe makes unpredictable, decisions.\n", "trans"=>"\his decision is very hard to understand \n"}, {"orig"=>"\nYou can make an choice.\n", "trans"=>"\n you can chose randomly。\n"}]}
Я просто хочу напечатать часть этого хэша.
мое решение
key = ['key','ps','sent']
key.each{|key| key == 'sent' ? (p server_config["sent"].to_s) : (p server_config[key])}
это не очень хорошо работает. два уровня хэш печати как этот
[{\"orig\"=>\"\\nAs soon as he kicked the bucket, he started to become famous.\\n\", \"trans\"=>\"\\nhe die and he became famous \\n\"}, ]"
как печатать эту двухуровневую хэш-хорошо
Выход я хочу просто, как показано ниже.
As soon as he kicked the bucket, he started to become famous.
he die and he became famous.
Что именно не работает? –
двухуровневый хэш печатается так [{\ "orig \" => \ "\\ n Как только он пнул ведро, он стал прославиться. \\ n \", \ "trans \" => \ " \\ nhe die, и он стал знаменитым \\ n \ "},]" – user1396000
Какой результат вы ожидаете? –