哈希键返回nil

时间:2013-11-16 15:34:17

标签: ruby hash

我有这个红宝石代码:

class Variable < Struct.new(:name)
  def reduce(environment)
    environment[name]
  end
end

我这样称呼它:

Variable.new(:x).reduce({x:3})
Variable.new(':x').reduce({x:3})

在这两种情况下,结果都是nil。你能告诉我我做错了吗?

1 个答案:

答案 0 :(得分:2)

它是有效的,第一个示例在我的系统上返回3,但在第二个示例中,:不起作用,因为它不会检查键作为符号,而是作为字符串。您的密钥被定义为符号:x: 'value'使密钥成为符号。如果您需要使用字符串:'x' => 'value'

在ruby-2.0.0-p247上进行了测试