3

Haxe を使用して Flash で関数をオーバーロードする方法を理解するのに苦労しています。Flash ではオーバーロードが許可されていませんが、型が宣言されていない関数パラメーターを受け入れることができることはわかっていますが、Haxe でこのトリックを再現する方法がわかりません。

編集:これは可能ではないようですが、この制限を回避するために使用できる既知のトリックはありますか?

4

3 に答える 3

4

HaxeのWebサイトには、これを実現する方法の例があります:http: //old.haxe.org/ref/optional_args

haxeが真のメソッドオーバーロードをサポートしているとは思いません...しかしわかりません。幸運を!

于 2010-05-10T00:45:02.760 に答える
1

最近、Haxe メーリングリストでこれに関する議論がありました: http://lists.motion-twin.com/pipermail/haxe/2010-May/035650.html

最も適切な投稿は、Haxe の作成者によるものです: http://lists.motion-twin.com/pipermail/haxe/2010-May/035659.html

tl;dr バージョンは、Flash 9 がサポートしていないため、すべてのプラットフォームでサポートされていないためです。

于 2010-05-10T07:54:23.457 に答える
0

私があなたの質問を正しく読んでいれば、AS3 で行われているのと同様のトリックを使用できます。動的なパラメーターを受け取るように関数を宣言すると、渡されたパラメーターのランタイム型に基づいてさまざまなことを行うことができます。例えば

public function bar(param1:Dynamic, param2:Dynamic):Dynamic
{
  if(Std.is(param1, Float) && Std.is(param2, Float))
    doStuffWithFloats(param1, param2);
  else if(Std.is(param1, String) && Std.is(param2, String))
    doStuffWithStrings(param1, param2);
}
于 2012-02-25T01:08:29.390 に答える