2012-03-07 45 views
2

我知道Ruby類<<自我

class << self 

一樣。但是這個技巧的底層機制是什麼?

<<在Ruby是二進制向左移位運算符

因此,我們在class變量做二進制左移?

請說明。

回答

2

這不僅僅是二進制左移 - Ruby中的<<也是singleton class definition語法。使用這個語法是因爲表示Ruby中所有類的所有對象都是單例類。

+3

以及Array#push()的替代語法,例如, arr <<元素。 – Jakobinsky 2012-03-07 11:48:37

+1

@Jakobinsky:這只是簡單的運算符重載 – 2012-03-07 11:51:28

+0

這不是一種方法,它的語法。 – Reactormonk 2012-03-07 12:02:10