感謝一些其他職位和閱讀,我理解單身/元類。我明白爲什麼我們想在課堂上使用它們。但我仍然不明白爲什麼我們想在實例對象上使用它們。我還沒有在實踐中看到它。在Ruby中,將方法添加到實例的單例類的用例是什麼?
我指的是這樣的:
class Vehicle
def odometer_reading
# some code
end
end
my_car = Vehicle.new
def my_car.open_door
# some code
end
在第一個想到的,這似乎是一個壞主意,因爲它會導致難以理解代碼和調試。
我們爲什麼要這麼做?什麼時候這是一個好主意的例子?
感謝您的具體例子。如果我們這樣做,編程社區就被認爲是良好的做法,更不用說Ruby社區了?正如你所看到的那樣,我很難把這個想法看得很清楚。 – guptron 2014-10-08 21:20:46
是的,對我來說似乎是一個很好的做法 - 非常Ruby-way-ish。 一些(很快)谷歌搜索後的鏈接: http://blog.flatironschool.com/post/67061115355/demystifying-singleton-classes-and-methods-他們認爲這是很好的(&使用下引擎蓋反正類方法)。 這篇文章(http://bettong.net/2011/11/07/notes-on-eloquent-ruby-number-3/)提到了「雄辯的紅寶石」書中提出的這種方法。現在,我手邊沒有這本書,但這本書幾乎是經典的(對我來說肯定是這樣),作者說這很好,並且是適當的「Ruby方式」的例子,那麼很可能就是這樣。 – moonfly 2014-10-08 21:43:01