2013-01-11 45 views
0

當我想調試下面的散列時,它會返回try2test2檢查散列

dictionary = { 
    "test" => 2, 
    "try" => 2 
} 

puts dictionary 
# => try2test2 

是否有任何其他的方式來做到這一點,以便它會給你的完整列表類似{'test': 2, 'try': 2}

+1

你試過'dictionary.inspect'? – MurifoX

+0

你使用了哪個ruby版本? 'Hash#to_s'不應該像'try2test2'那樣返回。 – halfelf

+0

dictionary.inspect works!非常感謝! – tipsywacky

回答

4

由於五Melnychuk提到的,JSON是一個不錯的選擇,只記得第一個導入 「json的」 模塊:

require "json" 
dictionary.to_json 
一般

,您可以通過調用 retreive對象的可讀字符串版本就可以了檢查:

dictionary.inspect 

最後,有一個「PP」模塊,漂亮地打印變量(非常像pprint模塊在python):

require "pp" 
pp dictionary 

希望它能幫助!

+0

謝謝,我忘了模塊導入 – vmeln

2

嘗試對象轉換爲JSON

dictionary.to_json 
0

你也可以做p dictionary它發送inspect默認:

dictionary = { 
    "test" => 2, 
    "try" => 2 
} 

p dictionary  # => {"test"=>2, "try"=>2}