用户必须输入数组作为输入。哈希必须接受输入数组元素作为值。
为此使用循环创建一个Ruby程序。如果数组完成,则打印以下语句“所有数组元素都分配给哈希中的键”
A = [1, 6, 4, 5]
H = {“k1” => 1
“k2” => 6
“k3” => 4
“k4” => 5}
答案 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)]