Haxe中的Flash函数重载
我在弄清楚如何使用Haxe在Flash中重载函数时遇到了一些问题。我知道Flash不允许重载,但可以在不声明类型的情况下接受函数参数,但我不确定如何在Haxe中复制这个技巧Haxe中的Flash函数重载,flash,actionscript-3,haxe,Flash,Actionscript 3,Haxe,我在弄清楚如何使用Haxe在Flash中重载函数时遇到了一些问题。我知道Flash不允许重载,但可以在不声明类型的情况下接受函数参数,但我不确定如何在Haxe中复制这个技巧 编辑:由于这似乎不可能实现,是否有任何已知的技巧可用于绕过此限制?Haxe网站提供了一个如何实现此目标的示例: 我认为haxe不支持真正的方法重载。。。不过我不确定。祝你好运 最近在Haxe邮件列表上讨论了这一点: 最中肯的帖子是哈克斯的作者: tl;dr版本是因为Flash 9不支持它—它们删除了对所有平台执行此操作的功能
编辑:由于这似乎不可能实现,是否有任何已知的技巧可用于绕过此限制?Haxe网站提供了一个如何实现此目标的示例:
我认为haxe不支持真正的方法重载。。。不过我不确定。祝你好运 最近在Haxe邮件列表上讨论了这一点: 最中肯的帖子是哈克斯的作者:
tl;dr版本是因为Flash 9不支持它—它们删除了对所有平台执行此操作的功能。如果我正确阅读了您的问题,您可以使用类似于AS3的技巧。如果将函数声明为获取动态参数,则可以根据传递的参数的运行时类型执行不同的操作。e、 g
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);
}
这些帖子与问题的内容并不完全相关。这些帖子讨论了子类中的方法,用不同的方法签名覆盖超类方法。你到底想实现什么?您提到了方法重载和类型推断,但不清楚您想做什么。提供一些伪代码会很有帮助。。。