Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.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 - Fatal编程技术网

Ruby 从映射而不是数组中获取哈希

Ruby 从映射而不是数组中获取哈希,ruby,Ruby,我想得到一个散列作为返回值。我如何才能做到这一点?这是一种方法: a = ["ab", "dc", "vv", "dd"] a.each_with_index.map { |v, i| { ("prefix_" + i.to_s).to_sym => v }} => [{:prefix_0=>"ab"}, {:prefix_1=>"dc"}, {:prefix_2=>"vv"}, {:prefix_3=>"dd"}] 在Ruby 2.1>=中,按如下方式使

我想得到一个散列作为返回值。我如何才能做到这一点?

这是一种方法:

a = ["ab", "dc", "vv", "dd"]
a.each_with_index.map { |v, i| { ("prefix_" + i.to_s).to_sym => v }}
 => [{:prefix_0=>"ab"}, {:prefix_1=>"dc"}, {:prefix_2=>"vv"}, {:prefix_3=>"dd"}]
在Ruby 2.1>=中,按如下方式使用:-

a = ["ab", "dc", "vv", "dd"]
Hash[a.map.with_index { |v, i| ["prefix_#{i}".to_sym, v] }]
# => {:prefix_0=>"ab", :prefix_1=>"dc", :prefix_2=>"vv", :prefix_3=>"dd"}
这是一种方式:

a = ["ab", "dc", "vv", "dd"]
a.each_with_index.map { |v, i| { ("prefix_" + i.to_s).to_sym => v }}
 => [{:prefix_0=>"ab"}, {:prefix_1=>"dc"}, {:prefix_2=>"vv"}, {:prefix_3=>"dd"}]
在Ruby 2.1>=中,按如下方式使用:-

a = ["ab", "dc", "vv", "dd"]
Hash[a.map.with_index { |v, i| ["prefix_#{i}".to_sym, v] }]
# => {:prefix_0=>"ab", :prefix_1=>"dc", :prefix_2=>"vv", :prefix_3=>"dd"}

您可以将枚举数链接在一起,因此另一个选项如下:

a.map.with_index { |v, i| ["prefix_#{i}".to_sym, v] }.to_h

您可以将枚举数链接在一起,因此另一个选项如下:

a.map.with_index { |v, i| ["prefix_#{i}".to_sym, v] }.to_h

不清楚你想要什么哈希。@AlexanderSupertramp别粗鲁。。。你的问题真的不清楚。我胡乱猜了一下。不清楚你想要什么馅饼。@AlexanderSupertramp别无礼。。。你的问题真的不清楚。我胡乱猜了一下。