В качестве части усилий по очистке данных мне нужно добавить строку в конец каждой строки данных.Объединение строк с помощью << добавляет неожиданные новые строки
export = File.new('C:\clean_file.txt' , 'w+')
File.open('C:\dirty_file.txt').each_with_index do |line, index|
start_string = line.to_s
# start_string => "23-SEP-13","201309","208164","F5140"
# some gsub code on start_string...
# start_string => "09/23/2013","201309","208164","Customer1"
decoded_string = start_string
decoded_string << %q(,"Accounts")
export.puts decoded_string
end
Однако, когда я пытаюсь добавить строку с оператором < <, я получаю дополнительный возврат каретки:
# clean_file.txt looks like this =>
line1: "09/23/2013","201309","208164","Customer1"
line2: ,"Accounts"
line3: "09/24/2013","201309","208165","Customer2"
line4: ,"Accounts"
# etc.
Я пробовал:
decoded_string = start_string + %q("Accounts")
но получил тот же результат, и кажется, что < < является предпочтительным способом конкатенации строк в Ruby. Как я должен добавлять строки, чтобы убедиться, что «clean_file.txt» выглядит следующим образом?
# clean_file.txt SHOULD love look like this =>
line1: "09/23/2013","201309","208164","Customer1","Accounts"
line2: "09/24/2013","201309","208165","Customer2","Accounts"
# etc.
Dan, more Ruby-like будет: 'export.puts (line.chomp.gsub (...) <<% q (,« Учетные записи »))'. –
Thanks Cary - идиоматическая информация, подобная этому, очень полезна для новичка, подобного мне. –