咖啡脚本中的静态类和方法

我想写一个咖啡脚本静态助手类。这可能吗?

班级:

class Box2DUtility


constructor: () ->


drawWorld: (world, context) ->

使用:

Box2DUtility.drawWorld(w,c);
28614 次浏览

You can define class methods by prefixing them with @:

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


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

Demo: http://jsfiddle.net/ambiguous/5yPh7/

And if you want your drawWorld to act like a constructor then you can say new @ like this:

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


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

Demo: http://jsfiddle.net/ambiguous/bjPds/1/