使用固定在红宝石哈希键

问题描述 投票:2回答:1

假设我有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 hash
1个回答
9
投票

KEY1:是语法糖:KEY1 =>,所以你实际上有符号作为重点,不是恒定的。

有实际的对象作为重点,利用哈希火箭符号:

stories = {
  KEY1 => { title: "The epic run" },
  KEY2 => { title: "The epic fail" }
}
stories[KEY1]
#=> {:title=>"The epic run"}
© www.soinside.com 2019 - 2024. All rights reserved.