动态上的 Haxe 迭代
Posted
技术标签:
【中文标题】动态上的 Haxe 迭代【英文标题】:Haxe iteration on Dynamic 【发布时间】:2010-09-08 06:48:11 【问题描述】:我有一个Dynamic
类型的变量,我肯定知道它的一个字段,我们称之为a
,实际上是一个数组。但是当我写的时候
var d : Dynamic = getDynamic();
for (t in d.a)
第二行出现编译错误:
您不能对动态值进行迭代,请指定 Iterator 或 Iterable
我怎样才能使它可编译?
【问题讨论】:
【参考方案1】:Haxe 不能迭代 Dynamic
变量(正如编译器所说)。
您可以通过多种方式使其工作,其中一种可能是最简单的(取决于您的情况):
var d : a:Array<Dynamic> = getDynamic();
for (t in d.a) ...
您还可以将Dynamic
更改为数组内容的类型。
【讨论】:
一个Array[0, "Second element", ["Nested array here!"], "another string"]
?另一种方法是使用额外的临时变量和显式类型:
var d = getDynamic();
var a: Array<Dynamic> = d.a;
for (t in a) ...
【讨论】:
以上是关于动态上的 Haxe 迭代的主要内容,如果未能解决你的问题,请参考以下文章