[英]Flash function overloading in Haxe
我在查找如何使用Haxe重載Flash中的函數時遇到了一些麻煩。 我知道Flash不允許重載,但可以在沒有聲明類型的情況下接受函數參數,但我不確定如何在Haxe中復制這個技巧。
編輯:由於這似乎不可能,有沒有任何已知的技巧可以用來解決這個限制?
Haxe網站有一個如何實現這一目標的例子: http : //old.haxe.org/ref/optional_args
我不認為haxe支持真正的方法重載......但不確定。 祝好運!
最近在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不支持它,他們刪除了為所有平台執行此操作的能力。
如果我正確地閱讀你的問題,你可以使用類似於AS3中所做的技巧。 如果聲明函數采用Dynamic參數,則可以根據傳遞的參數的運行時類型執行不同的操作。 例如
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);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.