2010-06-21 9 views
16

Ich versuchteWie definiert man eine Klasse in nur einer Zeile?

class X begin end 

und

class X {} 

Neight korrekt. Was ist der richtige Code?

+3

Die meiste Zeit, Newline ist das Trennzeichen für die Anweisung. Wenn Sie mehrere Anweisungen in derselben Zeile haben möchten, müssen Sie Folgendes verwenden: das wird auch unterstützt. – Gishu

Antwort

27

Sie benötigen ein Semikolon nach class X:

class X; end 
+0

är, danke nochmal! – Freewind

25

korrekte und überprüfte Beispiel:

class C; end 

und eine andere, schwierige Lösung :)

C = Class.new 
+0

vielen Dank – Freewind

+1

Sie haben vergessen, dass 'Class.new' ein Argument akzeptiert, von dem die Klasse abgeleitet werden soll. Dies ist besonders nützlich, um Ausnahmeklassen zu definieren ... 'MyCustomNotImplementedError = Class.new (NotImplementedError)' –

Verwandte Themen