Domanda

Ho una variabile di tipo Dynamic e conosco per certo uno dei suoi campi, chiamiamolo a, in realtà è un array.Ma quando scrivo

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

Ottengo un errore di compilazione alla riga due:

Non è possibile eseguire l'iterazione su un valore dinamico, specificare Iterator o Iterable

Come posso renderlo compilabile?

È stato utile?

Soluzione

Haxe non può ripetere Dynamic variabili (come dice il compilatore).

Puoi farlo funzionare in diversi modi, dove questo è probabilmente il più semplice (a seconda della situazione):

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

Potresti anche cambiare Dynamic al tipo del contenuto dell'array.

Altri suggerimenti

Un altro modo per fare lo stesso è utilizzare una variabile temporanea aggiuntiva e una digitazione esplicita:

var d = getDynamic();
var a: Array<Dynamic> = d.a;
for (t in a) { ... }
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top