當我輸入self
時,返回值爲main
。我做了這個測試:如果`main`是Object的一個實例,爲什麼我不能調用它?
main2 = Object.new
然後我可以叫main2
,它返回的東西,但是當我打電話main
,它提出了一個未定義的變量錯誤。這是如何發生的?
這是我在其他網站上發現這個頂級的環境是如何工作的假設:
class Object
Object.new.instance_eval do
def self.to_s
"main"
end
private
##
# Your program gets inserted here...
##
end
end
這對我來說很有意義。
什麼是你提供的偉大的文章,現在完全有道理,按照我學習#include Module.new的方式,它只是讓我大開眼界!再次感謝! – mko
順便說一句,從main的singleton類中刪除to_s是一個很好的方式來說明整個結構!大! – mko