“get”方法定义在哪里?如何在没有对象的情况下调用它?
首页的http://www.sinatrarb.com/上的示例。
require 'sinatra'
get '/hi' do
"Hello World!"
end
首页的http://www.sinatrarb.com/上的示例。
require 'sinatra'
get '/hi' do
"Hello World!"
end
Object
上调用require 'sinatra'
,如果该库可加载,则会加载该库,其中包含get
等方法。
get
的定义在Sinatra gem中的lib文件夹中的base.rb文件中,这段代码可能在您的计算机上。# Defining a `GET` handler also automatically defines
# a `HEAD` handler.
def get(path, opts = {}, &block)
conditions = @conditions.dup
route('GET', path, opts, &block)
@conditions = conditions
route('HEAD', path, opts, &block)
end
get
被定义为private
,因此要查看它,您需要在get
调用之前执行类似于p self.private_methods
的操作 - 然后当您运行ruby hi.rb
时,您将看到定义的输出。 - Neil Slater