4

我有一个Sinatra正在创建的程序,我希望能够在启动它时将命令行参数传递给这个应用程序。我遇到的问题是我不知道该怎么做。我试过Trollop了,看着OptParserTrollop似乎无法使用,Sinatra因为OptParser它似乎是“默认”解析器Sinatra。这是真的?如果是这样,我如何自定义启动应用程序时接受的参数类型?

4

2 回答 2

3
ruby app.rb hello
# app.rb
 require 'sinatra'

get '/' do
  ARGV[0]
end

现在,当我访问localhost:4567(Thin 托管我的 sinatra 应用程序的地方)时,我会看到一个打招呼的页面。

于 2012-12-12T21:47:04.997 回答
1

或者,您可以使用环境变量。

从这里借来的例子:https ://gist.github.com/benlovell/351962

require 'rubygems'
require 'sinatra'

get '/' do
  ENV['envvar']
end

然后运行:

envvar=something ruby app.rb
于 2015-07-16T18:48:52.060 回答