2008-09-09 14 views
3

나는 그럴 가능성이 거의 없다는 것을 알고 있지만 아마도 Haxe 언어를 아는 사람이있을 것입니다. 동적 유형의 변수가 있는데 그 중 하나가 필드임을 확실히 알고 있으므로 'a'를 실제로 배열이라고 부를 수 있습니다. 내가 Haxe 및 배열 동적 유형

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

을 쓰고 있어요하지만 내 말은, 선 두에 컴파일 오류가 '당신은 동적 값을 반복 할 수없는, 반복자 또는의 Iterable을 지정하세요'. 어떻게 컴파일 할 수 있습니까?

답변

5

haXe는 동적 변수를 반복 할 수 없습니다 (컴파일러에서 말한 것처럼).

당신은 (상황에 따라)이 하나가 아마도 가장 쉬운 방법입니다 여러 가지 방법으로 작업 할 수 있습니다 : 당신은 또한 배열의 내용의 유형에 동적 변경 될 수

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

.

추신 : 예 haXe! 동일한 작업을 수행하는 또 다른 방법

+0

이 가능를, [ "Nested array here!"], "another string"]'? –

3

은 별도의 임시 변수 및 명시 적으로 입력 사용하는 것입니다 같은`[0, "두 번째 요소"와 같은 배열 를 여러 유형을 사용하는

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