2016-04-07 20 views
0

にハッシュを使用します。私は1000年または1001Rubyは私がこのようなコード持っている「行う」ループ

私の質問することができ番号が取得#{ユーザー}で

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}の代わりにそれを置くために、どのようにしてハッシュから情報にアクセスできますか?私の理解では、最終的な出力はこのようになります。

いくつかのプレーンテキスト、file.txtは、ジョン00:00

私はこのようにそれをやって考えていたが、それは働いていませんでした。

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

何を達成しようとしていますか? 'list.txt'はどのように見えますか? – mhutter

+0

12:59-04/06/2016-UTC /tmp/file6.txt 1000 - そのようなエントリのみ – user2982789

答えて

0

使用文字列補間(あなたがfiletimeのために行ったように)、それは任意の有効なRubyの表現のために動作します。

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

ハッシュのキーは整数です。 –

関連する問題