bindさせつつon replaceできますか

クラスで

例:

class MyMax{
  var height = 0;
  var width = 0;
  var max = bind Math.max(height, width) on replace{
    println(max);
  }
}

オブジェクトリテラルで

例:

def myMax = MyMax{
  max:bind  Math.max(h, w) * 1.1
  override var max on replace{
    println("10%%up {max}")
  }
}

overrideの有無で意味がまったく変わってきます。 クラス変数のmaxをウォッチしたいならoverrideが必須です。 もし付けないと、オブジェクトリテラル内だけで有効なただのローカル変数maxをウォッチすることになり、 上の例で言うと(overrideが無ければ)初期化時にnullが入ったときだけon replaceが動きます。


カウンター

Home