"{:key=>\"value\"}" 是否有任何核心方法将其序列化为 -6ren">
gpt4 book ai didi

ruby - 是否有与 'new' 哈希语法等效的 Ruby Hash#to_s?

转载 作者:数据小太阳 更新时间:2023-10-29 07:07:07 28 4
gpt4 key购买 nike

Hash#to_s (inspect 的别名)始终以 1.8 哈希样式输出数据:

{key: "value"}.to_s
=> "{:key=>\"value\"}"

是否有任何核心方法将其序列化为 1.9 哈希样式?

{key: "value"}.to_s
=> "{key: \"value\"}"

我在已知数据上使用它进行代码重构;由于 Ruby 倾向于实现所有内容,我希望我只是找错了地方。

当然,你可以用丑陋的方式破解它

"{" + my_hash.to_a.map{|pair| pair[0].to_s + ": " + pair[1].inspect} * ",\n") + "}"

但我希望有一个经过单元测试且完全正确的核心方法。

最佳答案

这对我有用......并且它尊重字符串键。

{key: "value"}.to_s.gsub(/(:(\w+)\s?=>\s?)/, "\\2: ")

关于ruby - 是否有与 'new' 哈希语法等效的 Ruby Hash#to_s?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21582464/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com