Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 从列表中创建嵌套哈希_Ruby_Hash - Fatal编程技术网

Ruby 从列表中创建嵌套哈希

Ruby 从列表中创建嵌套哈希,ruby,hash,Ruby,Hash,我得到了一个列表l=[:foo,:bar,:baz],并希望通过编程方式将一个变量分配到哈希h={} 散列应该看起来像 { foo: { bar: { baz: some_value } } } 注意:键是变量 问题: 我该怎么做? 您可以在反向列表中使用: l = [:foo, :bar, :baz] h = l.reverse.inject(:some_value) do |value, key| { key => value } end p h # {:foo=>{:ba

我得到了一个列表l=[:foo,:bar,:baz],并希望通过编程方式将一个变量分配到哈希h={}

散列应该看起来像

{ foo: { bar: { baz: some_value } } }
注意:键是变量

问题: 我该怎么做? 您可以在反向列表中使用:

l = [:foo, :bar, :baz]
h = l.reverse.inject(:some_value) do |value, key|
  { key => value }
end
p h
# {:foo=>{:bar=>{:baz=>:some_value}}}

用于首先构建最内部的散列,然后继续向外构建嵌套散列。

首先显示您已经尝试过的内容。您需要这些未来键的值。h应该是什么样子?@mudasobwa当我不知道如何做时,如何显示它,genius?!:/@EricDuminil h应该如下所示:h={foo:{bar:{baz:some_value}}}eval input.inspect.gsub/\s*,\s*,'=>{.gsub/[\[\]]/,{'['=>'{'.]'=>=>:some_value{'}*input.size}: