1. ホーム
  2. coffeescript

[解決済み] coffeescriptの静的クラスとメソッド

2023-05-07 19:46:25

質問

coffeescriptで静的ヘルパークラスを書きたいのですが、可能でしょうか?可能でしょうか?

クラスを作成することができます。

class Box2DUtility

  constructor: () ->

  drawWorld: (world, context) ->

を使っています。

Box2DUtility.drawWorld(w,c);

どのように解決するのですか?

クラスメソッドを定義するには、プレフィックスとして @ :

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/