如何将文件的元素放入哈希?-红宝石

chu*_*tsu 3 ruby hash

所以我有一个文件形式:

Key1   Value1
Key2   Value2
Key3   Value3
Run Code Online (Sandbox Code Playgroud)

由选项卡分隔.我的问题是如何打开此文件并将其放入哈希?我试过这样做:

 fp = File.open(file_path)

 fp.each do |line|
   value = line.chomp.split("\t")
   hash = Hash[*value.flatten]
 end
Run Code Online (Sandbox Code Playgroud)

但是在这个循环结束时,@ datata散列只包含最新的条目...我有点想要它......

sep*_*p2k 8

hash[key] = value添加新的键值对.hash.update(otherhash)将fromhash中的键值对添加到hash中.

如果你这样做hash = foo,你重新分配哈希,丢失旧内容.

所以对于你的情况,你可以这样做:

hash = {}
File.open(file_path) do |fp|
  fp.each do |line|
    key, value = line.chomp.split("\t")
    hash[key] = value
  end
end
Run Code Online (Sandbox Code Playgroud)