1
說我在rails console
做了以下而:在Rails控制檯中創建沒有類的方法時,該方法下的類是什麼?
def test
puts "hi"
end
我可以運行test
和我在控制檯中見喜。我想知道的是這個test
方法附加在哪裏?它是一個班級的一部分嗎?有沒有我可以用來確定方法屬於哪裏的命令?
謝謝!
說我在rails console
做了以下而:在Rails控制檯中創建沒有類的方法時,該方法下的類是什麼?
def test
puts "hi"
end
我可以運行test
和我在控制檯中見喜。我想知道的是這個test
方法附加在哪裏?它是一個班級的一部分嗎?有沒有我可以用來確定方法屬於哪裏的命令?
謝謝!
當你運行你的控制檯時,Ruby創建了一個Object類的對象,所以所有的方法都是Object類的私有實例方法,你可以運行這個來驗證。
Object.private_instance_methods.include? :test
所以,當你在控制檯定義你的方法它解釋爲這
class Object
def test
puts "hi"
end
end
更多解釋
我想解釋這一點,但詳細的文章是寫關於這一主題,
也許這篇文章會提出一些問題 - [Ruby的主要對象(頂級上下文)](https://codequizzes.wordpress.com/2014/04/23/rubys-main-object-top-level-context/) –