我正在使用Ruby来编写压缩图像的编解码器。现在我正在使用硬编码的图像文件,但我想从用户检索图像文件。
收集这些信息的正确语法是什么?
以下是我目前的情况:
# Set the path for the input image
path = "#{File.dirname(__FILE__)}/../../Images/my_image.png"
image = ImageList.new(path)
然后我使用RMagick操纵图像,但那是无关紧要的。允许用户从控制台中当前路径给我一张图像的正确方法是什么?
谢谢!
答案 0 :(得分:2)
您可以从命令行调用脚本,如下所示:
$ myscript.rb path_to_file.jpg
并且在您的脚本中,您可以使用ARGV
访问字符串,例如
ARGV.each do |argument|
# ...
end
答案 1 :(得分:2)
一种常见的方法是使用普通的ARGV(请注意,与其他语言不同,这不包括程序名称)。如果您有强制性参数,则可以执行以下操作:
unless ARGV.size > 0
puts "Usage: $0 file_name [second_file]
end
如果你想要像
这样的话,你也可以使用各种选项解析器之一,如OptionParser或Trollopscript_name --input input_file --output output_file