7
我沒有用Ruby 1.8.7工作,最近我感到驚訝的是:的Ruby 1.8.7轉換哈希串
{:k => 30}.to_s #=> "k30"
有沒有準備好使用修復程序哈希轉換爲字符串紅寶石1.8。 7,以使它看起來像:
{:k => 30}.to_s #=> "{:k=>30}"
我沒有用Ruby 1.8.7工作,最近我感到驚訝的是:的Ruby 1.8.7轉換哈希串
{:k => 30}.to_s #=> "k30"
有沒有準備好使用修復程序哈希轉換爲字符串紅寶石1.8。 7,以使它看起來像:
{:k => 30}.to_s #=> "{:k=>30}"
hash.to_s
確實已經改變,從1.8.7
到1.9.3
。
在1.8.7
,(參考文獻:http://ruby-doc.org/core-1.8.7/Hash.html#method-i-to_s):
由散列變換爲[鍵,值]對的陣列,然後使用陣列#加入該數組轉換爲字符串轉換HSH爲字符串與默認分隔符。
在1.9.3
(參考文獻:http://www.ruby-doc.org/core-1.9.3/Hash.html#method-i-to_s)
別名:檢查
你可以在1.8.7猴子補丁哈希類具有以下做本地一樣的:
class Hash
alias :to_s :inspect
end
在猴子修補之前:
1.8.7 :001 > {:k => 30}.to_s
=> "k30"
1.8.7 :002 > {:k => 30}.inspect
=> "{:k=>30}"
猴修補後&:
1.8.7 :003 > class Hash; alias :to_s :inspect; end
=> nil
1.8.7 :004 > {:k => 30}.to_s
=> "{:k=>30}"