2016-04-29 2 views
3

haxe関数には、デフォルト値を使用するいくつかのパラメーターがあります。そのため、何もインポートする必要はありません(基本型です)。彼らがパラメータの順序で最後のものだった場合、私はそれらを含まないだけで逃げることができました。しかし、彼らはいくつかのデフォルトの前に、最初です。doは上書きしたいです。ネイティブでの既定の関数パラメーターの使用

ネイティブでnullを許可することはできません。 _はコンパイルされません(この文脈では意味がないと思います)。省略形をそのままインポートしてコピーするのですか、別の方法がありますか?

私は.bind(_, ...)()を試しましたが、それはUsage of _ is not supported for optional non-nullable argumentsです。

答えて

2

このエラーは、nullableタイプ(Int,FloatまたはBoolの静的ターゲット)を持つ引数から発生します。この関数がコードの一部であってライブラリではない場合は、Null<T>または?でnullableにすることができます。

引数がヌル入力可能である限り、Haxeでは、をスキップすることもできます(スキップする値と異なる値を指定する必要があります)。つまり、bind()を使用したり、明示的にnullを渡す必要はありません。マニュアルのOptional Argumentsページの4番目の例を参照してください。

この場合、引数をNULLにすることは選択肢ではありませんが、おそらくデフォルトをコピーする必要があります(このために賢明なマクロソリューションを考え出すことは可能でしょうが)。

+0

私はあなたがそれらをスキップすることができます忘れてしまった。ありがとう! (これらはライブラリの一部です) – Kev

+0

...この手法では、CPPで動作していたとしても、コンパイラはFlash上​​で同じ「Can not nullable argumentsをスキップできません。 – Kev

関連する問題