加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

是否有一个Ruby Hash#to_s等效于’new’Hash语法?

发布时间:2020-12-16 21:02:14 所属栏目:百科 来源:网络整理
导读:Hash#to_s(inspect的别名)始终以1.8散列样式输出数据: {key: "value"}.to_s= "{:key="value"}" 是否有任何核心方法将以1.9散列样式序列化它? {key: "value"}.to_s= "{key: "value"}" 我在已知数据上使用它来进行代码重构;由于Ruby倾向于实现一切,我希
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: ")

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读