动态 Haxe 迭代
我有一个Dynamic
类型的变量,并且我确信它的一个字段(我们称之为a
)实际上是一个数组。 但是当我编写时,
var d : Dynamic = getDynamic();
for (t in d.a) {
}
我在第二行收到编译错误:
您无法迭代动态值,请指定 Iterator 或 Iterable
我怎样才能使其可编译?
I have a variable of type Dynamic
and I know for sure one of its fields, lets call it a
, actually is an array. But when I'm writing
var d : Dynamic = getDynamic();
for (t in d.a) {
}
I get a compilation error on line two:
You can't iterate on a Dynamic value, please specify Iterator or Iterable
How can I make this compilable?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
另一种方法是使用额外的临时变量和显式类型:
Another way to do the same is to use an extra temp variable and explicit typing:
Haxe 无法迭代动态变量(如编译器所说)。
您可以通过多种方式使其工作,其中这一种可能是最简单的(取决于您的情况):
您还可以将
Dynamic
更改为数组内容的类型。Haxe can't iterate over
Dynamic
variables (as the compiler says).You can make it work in several ways, where this one is probably easiest (depending on your situation):
You could also change
Dynamic
to the type of the contents of the array.