从文本文件中删除一行信息

我有一个名为text.txt的文本文件,它有以下文本:

123,shirt,9.99 234,pants,19.50 456,socks,3.99 

如何删除一行(例如123,衬衫,9.99)。 我该如何删除这一行?

我的代码到目前为止:

  test_file = File.new('text.txt', "a") while (line = test_file) puts 'Enter the products item number you wish to delete. ' user_delete = gets.chomp.to_i line.delete(user_delete) end 

你在这里犯了很多错误。

首先用a打开文件(你需要使用r+w+ )。

在Ruby中,我们使用更优雅的方式迭代文件。

检查这个答案 ,它将帮助您解决问题。

之后,看看IO库 ,了解它是如何工作的

我想有很多更好的方法可以做到这一点,但这里的快速和肮脏:

 puts "What's the item number?" item_num = gets.chomp read_file = File.new('read.txt', "r").read write_file = File.new('read.txt', "w") read_file.each_line do |line| write_file.write(line) unless line.include? item_num end