Vì lợi ích của việc viết mã sạch hơn ...Làm thế nào tôi có thể chomp mỗi dòng trong một mảng cùng một lúc?
IO.popen("Generate a list of files").readlines.each{ |line|
chomped_line = line.chomp
# ...
}
Vì lợi ích của việc viết mã sạch hơn ...Làm thế nào tôi có thể chomp mỗi dòng trong một mảng cùng một lúc?
IO.popen("Generate a list of files").readlines.each{ |line|
chomped_line = line.chomp
# ...
}
IO.popen("Generate a list of files").readlines.map(&:chomp)
IO.read("something").split($/)
$/là chuỗi phân cách. IO.read đóng tệp sau khi đọc.
tôi sẽ làm cho nó nhanh hơn và tiêu thụ ít bộ nhớ:
Sau đó, nó là:
IO.popen("generate_lines").each_line { |line|
line.chomp!
do_something_with line
}
# Example 1
File.readlines("file.txt").each{|line| line.chomp!}
# Example 2
File.readlines("file.txt").map(&:chomp)
# Example 3
File.open("file.txt", "r"){|file| file.readlines.collect{|line| line.chomp}}
Chỉ cần một lưu ý rằng '$ /' trận '\ n' dòng mới đúng khi chomp xử lý' \ r \ n' là tốt. Nếu bạn biết rằng bạn sẽ chỉ có '\ n' dòng mới, giải pháp này là _much_ nhanh hơn tùy chọn map/chomp. –