因此,我有太多的代碼發佈,我已經谷歌搜索,但沒有找到任何解決方案。看看什麼叫一個類的初始化方法
我有一個類e.g:
class Example
def initialize
#some_code
p "class was initialized"
end
end
控制檯打印「類被初始化」兩次,我只能找到一條線所在班級被初始化。我的問題是,如果有一些方法可以從類的初始化方法的名稱中查找,那麼我可以找出爲什麼它初始化了兩次。
因此,我有太多的代碼發佈,我已經谷歌搜索,但沒有找到任何解決方案。看看什麼叫一個類的初始化方法
我有一個類e.g:
class Example
def initialize
#some_code
p "class was initialized"
end
end
控制檯打印「類被初始化」兩次,我只能找到一條線所在班級被初始化。我的問題是,如果有一些方法可以從類的初始化方法的名稱中查找,那麼我可以找出爲什麼它初始化了兩次。
class Example
def initialize
#some_code
p "class was initialized"
puts caller_locations
end
end
在傳統的Ruby:
class Example
def initialize
#some_code
p "class was initialized"
puts caller
end
end
謝謝,方法調用者正是我正在尋找的,所以我會將你的標記爲正確的 – Eugen
對,「調用者」! :) –
您可以引發/捕獲一個異常,這將允許您訪問堆棧跟蹤。
class Example
def initialize
begin
raise
rescue => e
puts e.backtrace
end
end
end
謝謝,您的和sawas的回答都很好,並幫助我找出爲什麼被稱爲兩次。 – Eugen
嘗試提高上課的時候被初始化異常 - 那麼你可以清楚地看到的是所謂的,通過查看堆棧跟蹤 –