4
'get'메소드는 어디에 정의되어 있습니까? 그리고 그것은 어떤 대상에 대해서도 어떻게 불려지나요?sinatra hello world 예제는 어떻게 작동합니까?
require 'sinatra'
get '/hi' do
"Hello World!"
end
http://www.sinatrarb.com/ 홈페이지의 예입니다.
'get'메소드는 어디에 정의되어 있습니까? 그리고 그것은 어떤 대상에 대해서도 어떻게 불려지나요?sinatra hello world 예제는 어떻게 작동합니까?
require 'sinatra'
get '/hi' do
"Hello World!"
end
http://www.sinatrarb.com/ 홈페이지의 예입니다.
"객체가 없습니다"는 호출하지 않고 require 'sinatra'
을 Object
에 호출하면로드 할 수있는 경우 라이브러리가로드되어 어떤 경우 든 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
여기에서 진행되는 작업을 이해하려면 Ruby의 작동 원리를 이해해야합니다. 이는 대답에서 대답 할 수있는 것보다 더 많은 것입니다.
도움이 될 수 있습니다. http://stackoverflow.com/questions/6624136/how-does-sinatra-define-and-invoke-the-get-method - this this : http://stackoverflow.com/questions/ 917811/what-is-main-in-ruby 또한'get'는'private'으로 정의되어 있으므로'get' 호출 바로 전에'p self.private_methods'와 같은 것을 할 필요가 있다는 것을 알아야합니다 - 'ruby hi.rb'를 실행할 때 정의 된 출력을 볼 수 있습니다. –