我有两个文本文件,master.txt 和 926.txt。如果 926.txt 中有一行不在 master.txt 中,我想写入一个新文件,notinbook.txt。
我写了我能想到的最好的东西,但考虑到我是一个糟糕的/新手程序员,它失败了。这是我所拥有的
g = File.new("notinbook.txt", "w")
File.open("926.txt", "r") do |f|
while (line = f.gets)
x = line.chomp
if
File.open("master.txt","w") do |h|
end
while (line = h.gets)
if line.chomp != x
puts line
end
end
end
end
end
g.close
当然,它失败了。谢谢!
这应该有效:
f1 = IO.readlines("926.txt").map(&:chomp)
f2 = IO.readlines("master.txt").map(&:chomp)
File.open("notinbook.txt","w"){ |f| f.write((f1-f2).join("\n")) }
这是我的测试:
926.txt
line1
line2
line3
line4
line5
主控.txt
line1
line2
line4
notinbook.txt
line3
line5
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)