Метод iterableToFullString
Преобразует Iterable в строку.
Преобразует каждый элемент в строку и разделяет результаты запятой и пробелом (" "). Результат заключается в leftDelimiter и rightDelimiter.
В отличие от iterableToShortString, это преобразование не пропускает элементы и не накладывает ограничений на размер результата.
Обрабатывает циклические ссылки, где преобразование одного из элементов в строку приводит к повторному преобразованию iterable в строку.
Реализация
static String iterableToFullString(Iterable iterable,
[String leftDelimiter = '(', String rightDelimiter = ')']) {
if (_isToStringVisiting(iterable)) {
return "$leftDelimiter...$rightDelimiter";
}
StringBuffer buffer = StringBuffer(leftDelimiter);
_toStringVisiting.add(iterable);
try {
buffer.writeAll(iterable, ", ");
} finally {
assert(identical(_toStringVisiting.last, iterable));
_toStringVisiting.removeLast();
}
buffer.write(rightDelimiter);
return buffer.toString();
}
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-collection/IterableBase/iterableToFullString.html