所以我有一个格式为:
Key1 Value1
Key2 Value2
Key3 Value3
由制表符分隔。我的问题是如何打开这个文件并将其放入散列中?我试过这样做:
fp = File.open(file_path)
fp.each do |line|
value = line.chomp.split("\t")
hash = Hash[*value.flatten]
end
但在此循环结束时,@datafile 哈希仅包含最新的条目......我有点想要它......
最佳答案
hash[key] = value
添加一个新的键值对。 hash.update(otherhash)
将 otherhash 中的键值对添加到 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
关于ruby - 如何将文件的元素放入哈希中? - ruby ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1263152/