haxe函数有一些参数的默认值我想使用,所以我不需要导入任何东西(它们是下面的基本类型)。如果它们是参数顺序的最后一个,我可以逃脱,只是不包括它们。但是,在我做的某些默认值要覆盖之前,它们是第一个。
我不允许在本机上取消它们。 _
无法编译(我不认为它适用于此背景。)我是否被迫逐字导入和复制默认值,还是有另一种方式?
我尝试了.bind(_, ...)()
,但这提供了Usage of _ is not supported for optional non-nullable arguments
。
答案 0 :(得分:2)
该错误来自于静态目标上具有非nullable类型(Int
,Float
或Bool
的参数。如果此功能是您的代码的一部分而不是某些库,则可以使用Null<T>
或?
使其成为可空。
只要参数可以为空,Haxe还允许您只是跳过它们,如果它们是可分散的(即传递的值的类型必须与您想要的值不同)跳跃)。这意味着您不必使用bind()
或明确传递null
。请参阅手册Optional Arguments页面上的第四个示例。
如果在这种特殊情况下使参数可以为空而不是你的选项,你可能需要复制默认值(尽管我确定它可以为此提出了一个聪明的宏解决方案。)