我一直试图开发一个基于红宝石的文件重命名程序, 作为我自己的编程练习(我知道在 Linux 下重新命名, 但我想学习Ruby,
从下面的代码中,问题在于 包括?
方法总是返回错误, 即使我看到文件名包含这样的搜索模式。 如果我对 包含吗?
check, gsub ()
似乎根本不产生新的文件名( 即文件名保持不变 ) 。 因此, 有人能看看我做错了什么吗? 感谢大家!
Here is the expected behavior: Assuming that in current folder there are three files: a1.jpg, a2.jpg, and a3.jpg The Ruby script should be able to rename it to b1.jpg, b2.jpg, b3.jpg
#!/Users/Antony/.rvm/rubies/ruby-1.9.3-p194/bin/ruby
puts "Enter the file search query"
searchPattern = gets
puts "Enter the target to replace"
target = gets
puts "Enter the new target name"
newTarget = gets
Dir.glob("./*").sort.each do |entry|
origin = File.basename(entry, File.extname(entry))
if origin.include?(searchPattern)
newEntry = origin.gsub(target, newTarget)
File.rename( origin, newEntry )
puts "Rename from " + origin + " to " + newEntry
end
end