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。特别是:

  1. 您必须将火箭用于需要引用的符号::'where.is' => x有效但'where.is': x不是。 Ruby 2.2修复了这个问题所以你可以在Ruby 2.2+中说'where.is': x
  2. 您必须将火箭用于非有效标签的符号::$set => x有效但$set: x不是。在Ruby 2.2+中你可以用引号解决这个问题:'$set': x会做正确的事情。
  3. 如果你在哈希中使用不是符号的键,你必须使用火箭:'s' => x有效,但's': x是完全不同的。

当然,你可以用显而易见的方式克服上述问题:

h = { }
h[:'where.is'] = 'pancakes house?'
# etc.

但这只是丑陋和不必要的。

没有摧毁Ruby的哈希,火箭不会去任何地方。

以上是关于Hash Rocket被弃用了吗?的主要内容,如果未能解决你的问题,请参考以下文章

`shouldOverrideUrlLoading` 真的被弃用了吗?我可以用啥代替?

AUGraph 在 iOS 上被弃用了吗?如果是这样,啥时候?

setTimer 在 Swift 3 中被弃用了吗?

解决Vscode提示bodyparser已被弃用的问题

什么被弃用了?如何在所有版本中处理它?

Activity#onActivityResult被弃用了,该怎么办?