Ruby输入图像文件

时间:2011-08-24 06:18:14

标签: ruby image user-input

我正在使用Ruby来编写压缩图像的编解码器。现在我正在使用硬编码的图像文件,但我想从用户检索图像文件。

收集这些信息的正确语法是什么?

以下是我目前的情况:

# Set the path for the input image
path = "#{File.dirname(__FILE__)}/../../Images/my_image.png"
image = ImageList.new(path)

然后我使用RMagick操纵图像,但那是无关紧要的。允许用户从控制台中当前路径给我一张图像的正确方法是什么?

谢谢!

2 个答案:

答案 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

如果你想要像

这样的话,你也可以使用各种选项解析器之一,如OptionParserTrollop
script_name --input input_file --output output_file