2010-06-21 6 views
16

J'ai essayécomment définir une classe dans une seule ligne?

class X begin end 

et

class X {} 

neight correcte. Quel est le bon code?

+3

La plupart du temps, est newline le délimiteur d'instruction. Si vous voulez plusieurs instructions sur la même ligne, vous devez utiliser; qui est également pris en charge. – Gishu

Répondre

27

Vous avez besoin d'un point-virgule après class X:

class X; end 
+0

är, merci encore! – Freewind

25

et vérifiées par exemple:

class C; end 

et une autre solution délicate :)

C = Class.new 
+0

merci beaucoup – Freewind

+1

Vous avez oublié que 'Class.new' accepte un argument qui est la classe à hériter. Cela est particulièrement agréable pour définir des classes d'exception ... 'MyCustomNotImplementedError = Class.new (NotImplementedError)' –

Questions connexes