私は画像のセットをコピー/名前変更するはずのこのルビースクリプトを持っていますが、何らかの理由でうまく動作しません。ルビーの私の経験はほとんどないので、なぜそれが動作しないのだろうかと思います。なぜこのルビスクリプトは実行に失敗しますか?
ここにスクリプトがあります。
tile_width = 256
tile_height = 256
image_width = 1024
image_height = 6144
n = 0
# To get this number, look at the number of tiles
# generated, find the last tile number and add 1
# e.g. tiles_99.png => total_tiles = 100
total_tiles = 256
tiles_per_column = image_width/tile_width
row = 0
column = 0
(n...total_tiles).each do |i|
filename = "tiles_#{i}.png" # current filename
target = "map_#{column}_#{row}.png" # new filename
puts "copy #{filename} to #{target}"
`cp -f #{filename} #{target}` # rename
# work out next step
column = column + 1
if column >= tiles_per_column
column = 0
row = row + 1
end
end
そして、ここで私はあなたが実行していると仮定します
copy tiles_0.png to map_0_0.png
script.rb:21:in ``': No such file or directory - cp -f tiles_0.png map_0_0.png (Errno::ENOENT)
from script.rb:21:in `block in <main>'
from script.rb:15:in `each'
from script.rb:15:in `<main>'
を返され、ここで私は/名前変更しようとしていた画像が
ない理由は動作するはずです、今
FileUtils.cp(filename, target)
:
は、ファイルの先頭にこれを置く:require 'fileutils'
削除ライン21、代わりにこのコードを置きますしかし、あなたがcygwinや他のUnixライクなユーティリティを実行しているのでなければ、エラーメッセージのように 'cp'というものはありません。 –