[英]How to remove redundant file open operation in ruby
我制作了一個ruby程序,將一個CSV文件的內容復制到一個新的CSV文件中。
這是我的代碼-
require 'csv'
class CopyFile
def self.create_duplicate_file(file_name)
CSV.open(file_name, "wb") do |output_row|
output_row << CSV.open('input.csv', 'r') { |csv| csv.first }
CSV.foreach('input.csv', headers: true) do |row|
output_row << row
end
end
end
end
puts "Insert duplicate file name"
file_name = gets.chomp
file_name = file_name+".csv"
CopyFile.create_duplicate_file(file_name)
puts "\nDuplicate File Created."
我將打開input.csv文件兩次,一次是復制標題,然后是復制內容。
我想優化我的代碼。 有沒有辦法進一步優化它?
只需使用cp
方法 : FileUtils.cp(src, destination, options)
,無需重新發明輪子,就像這樣:
class CopyFile
def self.create_duplicate_file(file_name)
FileUtils.cp('input.csv',file_name)
end
end
或更好:
file_name = gets.chomp
file_name = file_name+".csv"
FileUtils.cp('input.csv', file_name)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.