Мой вопрос связан со следующей 3 выдержками из кода:
код метода класса: start(options = nil)
# File 'lib/rack/server.rb', line 136
def self.start(options = nil)
new(options).start
end
код метода экземпляра: #initialize(options = nil)
# File 'lib/rack/server.rb', line 174
def initialize(options = nil)
@options = options
@app = options[:app] if options && options[:app]
end
код метода экземпляра: #start
# File 'lib/rack/server.rb', line 229
def start
if options[:warn]
$-w = true
end
...# more lines that are not related to my question
end
Мой вопрос заключается в том, должна ли локальная переменная options
в методе экземпляра start
быть @options
?.В моем варианте, поскольку первые 2 выдержки показывают, что параметры в качестве параметра передаются в initialize
и превращаются в переменную экземпляра @options
, поэтому при запуске метода экземпляра он должен ссылаться на него как @options
, вместоoptions
, поскольку # start
не может получить доступ к области
options