簡體   English   中英

如何刪除Ruby中的冗余文件打開操作

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM