如何传递/获取命令行参数?

时间:2009-01-04 16:43:51

标签: ruby parameters shoes

我正在尝试使用Shoes,我需要传递命令行参数(基本上,我的Shoes应用程序将从另一个预先存在的应用程序调用,这将允许我预先填充鞋子的某些部分)。我应该使用bin / shoes包装器来调用它吗?

似乎我无法将参数传递给鞋子包装器(它连接所有参数并尝试将结果用作脚本路径名称)。我似乎无法访问ARGV阵列。

 Juraj.

1 个答案:

答案 0 :(得分:4)

代码示例

Shoes.app do
  para "program: #{ARGV[0]}\n"
  para "arg1: #{ARGV[1]}\n"
  para "arg2: #{ARGV[2]}\n"
end
从包装器shoes.run调用时,

适用于我。例如,如果我在命令行上运行./shoes.run test.app foo bar,则会显示:

program: test.app
arg1: foo
arg2: bar
对我来说。也许你的串联行为与你如何调用Shoes有关,而不是与Shoes包装器本身有关?

此外,如果我在解压缩所有内容后运行shoes,同样适用于我。此外,您可以运行

shoes test.app -- foo bar

确保应用程序获取参数而不是鞋子可执行文件。