Dynamic에서의 Haxe 반복
문제
유형의 변수가 있습니다. Dynamic
그리고 나는 그 분야 중 하나를 확실히 알고 있습니다. 그것을 부르겠습니다. a
, 실제로는 배열입니다.하지만 내가 글을 쓸 때
var d : Dynamic = getDynamic();
for (t in d.a) {
}
두 번째 줄에서 컴파일 오류가 발생합니다.
동적 값에서는 반복할 수 없습니다. 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) { ... }
제휴하지 않습니다 StackOverflow