タイプの変数がありDynamic
、そのフィールドの 1 つを確かに知っています。それa
を呼び出しましょう。実際には配列です。でも書いてる時は
var d : Dynamic = getDynamic();
for (t in d.a) {
}
2 行目でコンパイル エラーが発生します。
動的な値を反復処理することはできません。Iterator または Iterable を指定してください
これをコンパイル可能にするにはどうすればよいですか?
Haxe はDynamic
変数を反復できません (コンパイラーが言うように)。
いくつかの方法で機能させることができますが、これがおそらく最も簡単です (状況によって異なります)。
var d : {a:Array<Dynamic>} = getDynamic();
for (t in d.a) { ... }
Dynamic
配列の内容の型に変更することもできます。
同じことを行う別の方法は、追加の一時変数と明示的な型付けを使用することです。
var d = getDynamic();
var a: Array<Dynamic> = d.a;
for (t in a) { ... }