Hash Rocket被弃用了吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hash Rocket被弃用了吗?相关的知识,希望对你有一定的参考价值。
引用良好的RIP Hash rocket post似乎暗示Hash Rocket语法(:foo => "bar"
)不赞成使用新的Ruby JSON样式哈希(foo: "bar"
),但我找不到任何明确的引用来说明Hash Rocket表单是从Ruby 1.9开始实际上已弃用/未经过修改。
答案
该博客文章的作者过于戏剧性和愚蠢,=>
是still quite necessary。特别是:
- 您必须将火箭用于需要引用的符号:
:'where.is' => x
有效但'where.is': x
不是。 Ruby 2.2修复了这个问题所以你可以在Ruby 2.2+中说'where.is': x
。 - 您必须将火箭用于非有效标签的符号:
:$set => x
有效但$set: x
不是。在Ruby 2.2+中你可以用引号解决这个问题:'$set': x
会做正确的事情。 - 如果你在哈希中使用不是符号的键,你必须使用火箭:
's' => x
有效,但's': x
是完全不同的。
当然,你可以用显而易见的方式克服上述问题:
h = { }
h[:'where.is'] = 'pancakes house?'
# etc.
但这只是丑陋和不必要的。
没有摧毁Ruby的哈希,火箭不会去任何地方。
以上是关于Hash Rocket被弃用了吗?的主要内容,如果未能解决你的问题,请参考以下文章
`shouldOverrideUrlLoading` 真的被弃用了吗?我可以用啥代替?