在本机上使用默认函数参数
Using default function parameters on native
haxe 函数有一些参数,我想使用它们的默认值,所以我不需要导入任何东西(它们是下面的基本类型)。如果它们在参数顺序中排在最后,我可以不包括它们。但它们是第一个,在我 想要覆盖的一些默认值之前。
我不允许在本机上取消它们。 _
不编译(我不认为它适用于这种情况。)我是被迫逐字导入和复制默认值,还是有其他方法?
我试过 .bind(_, ...)()
但结果是 Usage of _ is not supported for optional non-nullable arguments
.
该错误来自具有非 nullable 类型的参数(静态目标上的 Int
、Float
或 Bool
)。如果此函数是您的代码的一部分而不是某个库,您可以使用 Null<T>
或 ?
.
使其可为空
只要参数可以为 null,Haxe 还允许您简单地 跳过 如果它们是可区分的(即传递的值的类型必须不同于一个( s) 你想跳过)。这意味着您不必使用 bind()
或显式传递 null
。请参阅手册 Optional Arguments 页上的第四个示例。
如果在这种特殊情况下使参数可为空不是您的选择,您可能必须复制默认值(尽管我确信可以为这个)。
haxe 函数有一些参数,我想使用它们的默认值,所以我不需要导入任何东西(它们是下面的基本类型)。如果它们在参数顺序中排在最后,我可以不包括它们。但它们是第一个,在我 想要覆盖的一些默认值之前。
我不允许在本机上取消它们。 _
不编译(我不认为它适用于这种情况。)我是被迫逐字导入和复制默认值,还是有其他方法?
我试过 .bind(_, ...)()
但结果是 Usage of _ is not supported for optional non-nullable arguments
.
该错误来自具有非 nullable 类型的参数(静态目标上的 Int
、Float
或 Bool
)。如果此函数是您的代码的一部分而不是某个库,您可以使用 Null<T>
或 ?
.
只要参数可以为 null,Haxe 还允许您简单地 跳过 如果它们是可区分的(即传递的值的类型必须不同于一个( s) 你想跳过)。这意味着您不必使用 bind()
或显式传递 null
。请参阅手册 Optional Arguments 页上的第四个示例。
如果在这种特殊情况下使参数可为空不是您的选择,您可能必须复制默认值(尽管我确信可以为这个)。