我有一个包含多行的文件。在每一行中,有两个单词和一个数字,用逗号分隔 - 例如a,b,1。这意味着字符串A和字符串B的键为1.我写了下面的代码
File.open(ARGV[0], 'r') do |f1|
while line = f1.gets
puts line
end
end
我正在寻找如何分割和复制字符和数字的想法,使前两个单词的最后一个数字作为hashmap中的键。
答案 0 :(得分:2)
这对你有用吗?
hash = {}
File.readlines(ARGV[0]).each do |line|
var = line.gsub(' ','').split(',')
hash[var[2]] = var[0],var[1]
end
这会给:
hash['1'] = ['a','b']
我不知道您是想将第一个存储为整数还是字符串,如果它是您要查找的整数,只需在存储之前执行var[2].to_i
。
稍微修改一下你的代码,我认为这样做会更短,如果我有任何不妥之处,请告诉我。