不确定是否可能。说,我有以下申请:
require 'sinatra'
get '/' do
C.m
end
def f
request.url
end
class C
def self.m
f
end
end
显然,它不起作用。有没有办法让它工作而不改变C
类?
UPD 但有人可能会改变调用f
的方式。
答案 0 :(得分:1)
您可以传递请求对象:
require 'sinatra'
get '/' do
C.m(request)
end
def f(request)
request.url
end
class C
def self.m(request)
f(request)
end
end