1
我涉及以下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
我的問題是,實例方法start
中的局部變量options
應該是@options
?在我的選擇中,由於前兩個摘錄顯示作爲參數傳遞給initialize
並將其設置爲實例變量@options
的選項,所以在實例方法啓動時,它應該將其引用爲@options
而不是options
,因爲範圍的options
不能通過#START
再次感謝您回答我的問題,我覺得這很滿足! – mko