Ошибка синтаксиса Ruby: копирование файлов - PullRequest
0 голосов
/ 17 ноября 2010

Кодирование небольшого сценария для копирования некоторых файлов, однако я получаю сообщение об ошибке:

fileops.rb: 6: синтаксическая ошибка, неожиданная ')'

Вотмой код

require 'ftools'

plays = ['RomeoAndJuliet.txt', 'Hamlet.txt', 'TheTempest.txt', 'TheMerchantofVenice.txt', 'AMidSummerNightsDream.txt']

plays.each do |filename|
  File.new("/clean/_cleaned" + filename, w+)
  File.syscopy(filename, "/clean/_cleaned" + filename)
end

Кажется, что все скобки находятся там, где они должны быть.Есть предложения?

Ответы [ 3 ]

5 голосов
/ 17 ноября 2010

Для копирования файла можно использовать Fileutils.cp :

require 'fileutils'
Fileutils.cp source, dest
5 голосов
/ 17 ноября 2010

w + должно быть в кавычках.

File.new("/clean/_cleaned" + filename, "w+")
2 голосов
/ 17 ноября 2010
require 'fileutils'
plays = %w[RomeoAndJuliet Hamlet TheTempest TheMerchantofVenice AMidSummerNightsDream]
plays.each do |play|
  Fileutils.cp "#{play}.txt", "/clean/_cleaned#{play}.txt"
end

Или скопировать все файлы .txt в каталоге вместо явного списка:

Dir['*.txt'].each do |file|
  Fileutils.cp "#{file}", "/clean/_cleaned#{file}"
end
...