有以下內容的txt文件:閱讀特定的行到一個數組 - 紅寶石
Anders Hansen;87442355;11;87 Jens Hansen;22338843;23;11 Nanna Kvist;25233255;24;84
我想文件中搜索用戶輸入取一個特定的名稱後。然後將該行保存到數組中,通過「;」分割。不能讓它工作。這是我的代碼:
user1 = []
puts "Start by entering the full name of user 1: "
input = gets.chomp
File.open("userregister.txt") do |f|
f.each_line { |line|
if line =~ input then do |line|
user1 << line.split(';').map
嘗試用'line.start_with?(input)'替換'line =〜input'。 – ndn
這似乎工作,歡呼! – David
想要逐行讀取文件時,請考慮使用[IO :: foreach](http://ruby-doc.org/core-2.3.0/IO.html#method-c-foreach):' IO.foreach(「userregister.txt」)do | line | ...結束。 (這通常寫成'File.foreach ...',這是因爲'File'是'IO'的子類)。foreach'很方便的一個原因是,如果沒有使用塊,它會返回一個枚舉器,可以鏈接到其他方法,例如'Enumerable'模塊中的方法。 –