Haxe итерация на динамическом
4052 просмотра
2 ответа
У меня есть переменная типа, Dynamic
и я точно знаю, что одно из ее полей, назовем ее a
, на самом деле является массивом. Но когда я пишу
var d : Dynamic = getDynamic();
for (t in d.a) {
}
Я получаю ошибку компиляции во второй строке:
Вы не можете перебирать динамическое значение, пожалуйста, укажите Iterator или Iterable
Как я могу сделать это компилируемым?
Источник Размещён: 17.05.2019 03:14Ответы (2)
5 плюса
Haxe не может перебирать Dynamic
переменные (как говорит компилятор).
Вы можете заставить его работать несколькими способами, где этот, вероятно, самый простой (в зависимости от вашей ситуации):
var d : {a:Array<Dynamic>} = getDynamic();
for (t in d.a) { ... }
Вы также можете изменить Dynamic
тип содержимого массива.
3 плюса
Другой способ сделать то же самое - использовать дополнительную временную переменную и явную типизацию:
var d = getDynamic();
var a: Array<Dynamic> = d.a;
for (t in a) { ... }
Автор: Michael Pliskin
Размещён: 15.09.2008 09:17
Вопросы из категории :
- arrays Как удалить дубликаты из массива C #?
- arrays Как определить размер моего массива в C?
- arrays Каков наилучший способ конвертировать массив в хеш в Ruby
- arrays Сравнение двухбайтовых массивов в .NET
- for-loop В чем разница между ++ i и i ++?
- for-loop Можно ли выполнять параллельные обходы в MATLAB так же, как в Python?
- for-loop Haxe итерация на динамическом
- for-loop Переберите все файлы в каталоге, используя цикл for
- loops Цикл C # - разрыв против продолжения
- loops Продолжать считать вредным?
- loops В чем разница между функциями range и xrange в Python 2.X?
- haxe Передавайте аргументы отложенной функции с помощью Haxe
- haxe Сравните перечисление, не рассматривая его аргументы
- haxe Haxe enum назначить значение
- iterable Длина выхода генератора
- iterable Понимание обозначения среза
- iterable Java: получить первый элемент из коллекции