我有一个包含单词的数组,我将用作键。我通过这个数组迭代并将单词作为键和用户输入作为值简化,如下所示:
input = Hash.new()
array.each do |a|
input[a] = gets.strip
end
例如数组["one", "twoo", "three"]
并且用户首先输入:三个
我想通过{"one" => "three"}
所以当前的关键和价值
现在我想通过这个" line"数组的方法如何做到这一点?
答案 0 :(得分:1)
目前还不清楚你想要达到什么目标。我看待它的方式,你可以指三件事之一:
"我希望在用户将密钥和值输入方法后传递密钥和值"
array.each do |key|
input[key] = gets.strip
my_method(key, input[key])
end
可能的旋转是"但我想将它们作为单个哈希传递#34;
array.each do |key|
input[key] = gets.strip
my_method({key, input[key]})
end
"我想在用户填写所有值后传递整个哈希值"
array.each do |key|
input[key] = gets.strip
end
my_method(input)
答案 1 :(得分:0)
只需调用该方法并传递“line”:
input = Hash.new()
array.each do |a|
input[a] = gets.strip
# Send a line that user has inputed
your_method(input[a])
# Send key and the line that user has inputed
your_method(a, input[a])
end
答案 2 :(得分:0)
我得到的印象是你不是想要一次传递整个哈希。如果是这样,这里是一行答案
arr.each{|x| my_method({x => gets.strip})}
如果我错了,你想一次传递它。这是一行答案
my_method(Hash[arr.zip(arr.map{gets.strip})])