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