ฉันพยายามใช้รหัสต่อไปนี้เพื่ออ่านบรรทัดจากไฟล์ แต่เมื่ออ่านไฟล์เนื้อหาทั้งหมดจะอยู่ในบรรทัดเดียว:
line_num=0
File.open('xxx.txt').each do |line|
print "#{line_num += 1} #{line}"
end
แต่ไฟล์นี้พิมพ์แต่ละบรรทัดแยกกัน
ฉันต้องใช้ stdin เช่นruby my_prog.rb < file.txt
ที่ฉันไม่สามารถสรุปได้ว่าตัวละครบรรทัดสิ้นสุดคือไฟล์ที่ใช้ ฉันจะจัดการกับมันได้อย่างไร
read
เป็นที่ต้องการมากกว่าการใช้
line.chomp
เพื่อจัดการกับจุดสิ้นสุดบรรทัด (ความอนุเคราะห์ของ@SreenivasanAC )
line_num = 0
นั้นคุณสามารถใช้each.each_with_index
หรือเป็นไปeach.with_index
ได้