Ruby在'do'循环中使用hash

时间:2016-04-07 15:35:39

标签: ruby loops hash

我有一个代码如下:

hash = {
     1000 => "john",
     1001 => "mary",
}

list = File.foreach("list.txt").map { |line| line.split('  ') }

out = list.each do |(file, user, time)|
     puts "Some plain text #{file}, #{user}, #{time}"
end

在#{user}中,我得到一个可以是1000或1001的数字。

我的问题是,如何从哈希中访问信息以便能够将其替换为#{user}。根据我的理解,最终输出应该如下所示。

  

一些纯文本,file.txt,john,00:00

我正在考虑这样做,但它没有奏效。

puts "Some plain text #{file}, hash[user], #{time}"

1 个答案:

答案 0 :(得分:0)

使用字符串插值(正如您对filetime所做的那样),它适用于任何有效的Ruby表达式。

puts "Some plain text #{file}, #{hash[user]}, #{time}"