Ruby:-接受数组作为输入并将其放入哈希

时间:2018-11-21 10:37:19

标签: ruby-on-rails ruby

用户必须输入数组作为输入。哈希必须接受输入数组元素作为值。

为此使用循环创建一个Ruby程序。如果数组完成,则打印以下语句“所有数组元素都分配给哈希中的键”

A = [1, 6, 4, 5]
H = {“k1” => 1
“k2” => 6
“k3” => 4
“k4” => 5}

2 个答案:

答案 0 :(得分:1)

另一个解决方案可以是

a.each_with_index.inject({}) { |m,(a,i)| m["k#{i+1}"] = a; m }

更新:回答您的问题

puts 'Enter number of hash elements'
n = gets.to_i
n.times |i|
    hash["k#{i+1}"] = gets.to_i
end
puts 'All array elements are assigned to keys in the hash'

答案 1 :(得分:0)

A = [1, 6, 4, 5]
Hash[[*'k1'.."k#{A.length}"].zip(A)]