#flutter #dart
Вопрос:
Ввод:
var message= constants.institutions['colleges'].map((e) => '$e : $count');
print(message);
Выход:
(School of Excellence : 110, Boarding School : 254, High School : 1660, ..., Higher Secondary School : 512, KG : 750)
Я пытаюсь зарегистрировать список школ и численность учащихся (например). Это 25 школ.
К сожалению, это печать ...
вместо других школ
Комментарии:
1. Да, название школы и численность учащихся объединены из разных разных списков
Ответ №1:
message
вот Iterable<String>
ответ, потому .map()
что возвращает Iterable
ответ . Если вы хотите увидеть полный результат, вы можете сделать что-то вроде:
final message = constants.institutions['colleges'].map((e) => '$e : $count').toList();
// convert to a list
print(message); // will now print all elements
или
print(message.join('n')); // join strings with a newline between each
Комментарии:
1. Ух ты! , Это работает и увлекательно. Можете ли вы объяснить основную причину получения ложного результата?
2.Если вы взглянете на документы для
Iterable.toString()
api.dart.dev/stable/2.13.1/dart-core/Iterable/toString.html : > Представление по умолчанию всегда содержит первые три элемента. Если в итерируемом элементе меньше ста элементов, он также содержит последние два элемента. Он не пытается распечатать их все, но выберет номер для печати в зависимости от размера
Ответ №2:
Ваши данные отображаются правильно. Вы получаете ...
вывод, потому что ваши данные очень большие. Если вы попытаетесь отобразить и распечатать большой объем данных в Flutter, он просто напечатает первую и последнюю часть данных.
Комментарии:
1. Но мне нужно полностью преобразовать эту строку
2. Вы можете сделать что-то подобное:
constants.institutions['colleges'].map((e) => print('$e : $count'));