86 votes

Statique des classes et des méthodes en coffeescript

Je veux écrire une statique de la classe helper en coffeescript. Est-ce possible?

classe:

class Box2DUtility

  constructor: () ->

  drawWorld: (world, context) ->

à l'aide de:

Box2DUtility.drawWorld(w,c);

179voto

mu is too short Points 205090

Vous pouvez définir les méthodes de la classe en les préfixant avec @:

class Box2DUtility
  constructor: () ->
  @drawWorld: (world, context) -> alert 'World drawn!'

# And then draw your world...
Box2DUtility.drawWorld()

Démo: http://jsfiddle.net/ambiguous/5yPh7/

Et si vous voulez que votre drawWorld d'agir comme un constructeur, alors vous pouvez dire new @ comme ceci:

class Box2DUtility
  constructor: (s) -> @s = s
  m: () -> alert "instance method called: #{@s}"
  @drawWorld: (s) -> new @ s

Box2DUtility.drawWorld('pancakes').m()

Démo: http://jsfiddle.net/ambiguous/bjPds/1/

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X