5

タイプの変数がありDynamic、そのフィールドの 1 つを確かに知っています。それaを呼び出しましょう。実際には配列です。でも書いてる時は

var d : Dynamic = getDynamic();
for (t in d.a) {
}

2 行目でコンパイル エラーが発生します。

動的な値を反復処理することはできません。Iterator または Iterable を指定してください

これをコンパイル可能にするにはどうすればよいですか?

4

2 に答える 2

5

Haxe はDynamic変数を反復できません (コンパイラーが言うように)。

いくつかの方法で機能させることができますが、これがおそらく最も簡単です (状況によって異なります)。

var d : {a:Array<Dynamic>} = getDynamic();
for (t in d.a) { ... }

Dynamic配列の内容の型に変更することもできます。

于 2008-09-09T13:00:59.407 に答える
3

同じことを行う別の方法は、追加の一時変数と明示的な型付けを使用することです。

var d = getDynamic();
var a: Array<Dynamic> = d.a;
for (t in a) { ... }
于 2008-09-15T21:17:42.347 に答える