在native上使用默认函数参数

时间:2016-04-29 15:32:17

标签: haxe

haxe函数有一些参数的默认值我想使用,所以我不需要导入任何东西(它们是下面的基本类型)。如果它们是参数顺序的最后一个,我可以逃脱,只是不包括它们。但是,在我的某些默认值要覆盖之前,它们是第一个。

我不允许在本机上取消它们。 _无法编译(我不认为它适用于此背景。)我是否被迫逐字导入和复制默认值,还是有另一种方式?

我尝试了.bind(_, ...)(),但这提供了Usage of _ is not supported for optional non-nullable arguments

1 个答案:

答案 0 :(得分:2)

该错误来自于静态目标上具有非nullable类型(IntFloatBool的参数。如果此功能是您的代码的一部分而不是某些库,则可以使用Null<T>?使其成为可空。

只要参数可以为空,Haxe还允许您只是跳过它们,如果它们是可分散的(即传递的值的类型必须与您想要的值不同)跳跃)。这意味着您不必使用bind()或明确传递null。请参阅手册Optional Arguments页面上的第四个示例。

如果在这种特殊情况下使参数可以为空而不是你的选项,你可能需要复制默认值(尽管我确定它可以为此提出了一个聪明的宏解决方案。)