Статические классы и методы в coffeescript

Я хочу написать статический вспомогательный класс в coffeescript. Это возможно?

Класс:

class Box2DUtility

  constructor: () ->

  drawWorld: (world, context) ->

с помощью:

Box2DUtility.drawWorld(w,c);
86 голосов | спросил Shawn Mclean 1 FebruaryEurope/MoscowbWed, 01 Feb 2012 07:55:53 +0400000000amWed, 01 Feb 2012 07:55:53 +040012 2012, 07:55:53

1 ответ


0

Вы можете определить методы класса, поставив перед ними префикс @:

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

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

Демо: http://jsfiddle.net/ambiguous/5yPh7/

И если вы хотите, чтобы ваш drawWorld действовал как конструктор, тогда вы можете сказать new @ вот так:

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

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

Демо: http://jsfiddle.net/ambiguous/bjPds/1/

ответил mu is too short 1 FebruaryEurope/MoscowbWed, 01 Feb 2012 08:17:58 +0400000000amWed, 01 Feb 2012 08:17:58 +040012 2012, 08:17:58

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132