「get」メソッドはどこで定義されていますか? そして、それはどのようにオブジェクトなしで呼び出されますか?
require 'sinatra'
get '/hi' do
"Hello World!"
end
http://www.sinatrarb.com/ホームページの例。
「get」メソッドはどこで定義されていますか? そして、それはどのようにオブジェクトなしで呼び出されますか?
require 'sinatra'
get '/hi' do
"Hello World!"
end
http://www.sinatrarb.com/ホームページの例。
「オブジェクトなし」では何も呼び出していませんが、これを呼び出すrequire 'sinatra'
とObject
、ライブラリが読み込まれる場合はライブラリが読み込まれget
、とりわけ method が提供されます。
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
ここで何が起こっているのかを理解するには、Ruby がどのように機能するかを根本的に理解する必要があります。これは、ここでの回答で回答できる、または回答する必要があるものよりも少し多くなります。