我花了一段時間調試了一個問題,在那裏我使用Module
而不是module
來錯誤地聲明一個模塊。爲什麼Ruby有module
和Module
(以及類似的class
和Class
),具有不同的語義?看下面的例子:Foo級有什麼區別; end&Foo = Class.new(和模塊/模塊)?
class C; end; # ok
Class C2; end; # error
C3 = class.new # error
C4 = Class.new # ok
這似乎令人困惑,有兩種不同的結構,只是大小寫不同。
'class'是一個關鍵字,'Class'是一類 –
「爲什麼這種語言?」的見解(或許甚至需要)非事實性或推測性的答案。你是否有興趣問:「......之間有什麼區別?」? –
@NiklasB。而且,更廣泛地說,就語法而言,'Class'只是一個常量。 –