与Sinatra的命令行参数

时间:2012-12-12 20:51:51

标签: ruby sinatra command-line-arguments

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

2 个答案:

答案 0 :(得分:3)

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

get '/' do
  ARGV[0]
end

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

答案 1 :(得分:1)

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

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

require 'rubygems'
require 'sinatra'

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

然后运行:

envvar=something ruby app.rb