【问题标题】:Change Hash keys from String to Symbol [duplicate]将哈希键从字符串更改为符号 [重复]
【发布时间】:2018-05-26 05:38:33
【问题描述】:

我需要更改哈希的键,我目前将键作为字符串提供,我需要它作为哈希的普通键。我留下下面的例子。

我尝试了一些我发现为 Symbolize_keys 的方法,但它们没有奏效,说该方法不存在,我使用它就像在 Ruby 的 Apidock 中一样。

我有这个:

hash = {"name"=>"Jhon","lastname"=>"Doe"}

我需要转换这个:

hash = {:name=>"Jhon",:lastname=>"Doe"}

感谢朋友

【问题讨论】:

  • 我猜symbolize_keys 仅在使用 Rails 时可用。最知名的方法是hash.map { |key, value| [key.to_sym, value] }.to_h
  • 您的问题不清楚。字符串完全正常的散列键。
  • 感谢塞巴斯蒂安,它的作品!!! :) 机器!!
  • 你可以做 hash['name'] 并且有效。
  • 如果你想从一个散列中检索一个值,你显然需要使用你用来存储它的同一个键。

标签: ruby


【解决方案1】:

如果你有 Ruby 2.5:

hash.transform_keys!(&:to_sym)

【讨论】:

  • 谢谢,我用的是 2.4.2。
  • Ruby 2.5 的 ETA 是 12/25,顺便说一句
猜你喜欢
  • 2014-10-29
  • 2014-06-25
  • 1970-01-01
  • 2020-10-31
  • 1970-01-01
  • 1970-01-01
  • 2015-11-23
  • 2013-08-04
  • 1970-01-01
相关资源
最近更新 更多