我需要遍历别名哈希,并通过从 Ruby 类中的别名哈希中为其赋值来转换标头数组。
我似乎无法转换标头数组,然后在循环后使其可用。
如何转换标头数组,使其在循环后可用?
header = ["City", "State"]
aliases = {"City"=>"Las Vegas", "State"=>"Nevada"}
aliases.each do |k,v|
header.each do |s|
if s == k then
s = v
end
end
end
puts header
像这样尝试:
header = ["City", "State"]
aliases = {"City"=>"Las Vegas", "State"=>"Nevada"}
aliases.each do |k,v|
header.each do |s| #doesn't see header variable
if s == k
header[header.index(s)] = v #doesn't see v variable
end
end
end
puts header
不知道我是否做对了,认为这就是你要找的。祝你好运!
编辑:我仍然会像这样简化它:
header = ["City", "State"]
aliases = {"City"=>"Las Vegas", "State"=>"Nevada"}
header.each do |s|
aliases.select{|k,v| k==s}.each do |k,v|
header[header.index(s)] = v
end
end
puts header