【问题标题】:Using constant as keys in ruby hash在 ruby​​ 哈希中使用常量作为键
【发布时间】:2017-03-23 02:31:57
【问题描述】:

假设我有 2 个字符串常量

KEY1 = "Hello"
KEY2 = "World"

我想使用这些常量作为键值来创建一个散列。

尝试这样的事情:

stories = {
  KEY1: { title: "The epic run" },
  KEY2: { title: "The epic fail" }
}

好像不行

stories.inspect
#=> "{:KEY1=>{:title=>\"The epic run\"}, :KEY2=>{:title=>\"The epic fail\"}}"

stories[KEY1] 显然不起作用。

【问题讨论】:

    标签: ruby-on-rails ruby hash ruby-on-rails-5 ruby-on-rails-6


    【解决方案1】:

    KEY1::KEY1 => 的语法糖,因此您实际上将 symbol 作为键,而不是常量。

    要将实际对象作为键,请使用哈希火箭符号:

    stories = {
      KEY1 => { title: "The epic run" },
      KEY2 => { title: "The epic fail" }
    }
    stories[KEY1]
    #=> {:title=>"The epic run"}
    

    【讨论】:

      猜你喜欢
      • 2018-02-19
      • 2011-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-02
      • 2012-01-01
      • 1970-01-01
      • 2018-06-17
      相关资源
      最近更新 更多