Hash#to_s 是 inspect 方法的别名,总是以1.8 hash格式输出数据:
{key: "value"}.to_s
=> "{:key=>\"value\"}"
有没有一种核心方法可以将其序列化为1.9哈希风格?
{key: "value"}.to_s
=> "{key: \"value\"}"
我正在使用这个工具来重构已知数据的代码;由于Ruby通常拥有一切实现,所以我希望我只是在错的地方寻找。
当然,你可以用丑陋的方式进行hack。
"{" + my_hash.to_a.map{|pair| pair[0].to_s + ": " + pair[1].inspect} * ",\n") + "}"
但我希望有一个经过单元测试且完全正确的核心方法。
Symbol
(并非所有符号都受支持,而是具有特定字符的子集)时才有效。由于这种限制,我不确定是否会有任何核心方法生成它。 - Neil Slater