Класс RuneIterator
Класс RuneIterator представляет собой итератор
для последовательного перебора рун строки. Руны - это
кодовые точки Unicode, которые могут занимать одну или
несколько кодовых единиц (code units). В первый параметр
создаваемого итератора мы передаем строку, которую
хотим перебрать. Текущую руну можно получить через
свойство current, а переход к следующей руне
выполняется методом moveNext, который возвращает
true, пока есть что перебирать, и false,
когда руны закончились.
Синтаксис
RuneIterator(str)
Пример
Давайте создадим итератор для строки и переберем все ее руны в цикле:
void main()
{
String str = 'abcde';
RuneIterator iterator = RuneIterator(str);
while (iterator.moveNext())
{
print(iterator.current);
}
}
Результат выполнения кода:
97
98
99
100
101
Пример
Давайте преобразуем полученные руны обратно в символы
через fromCharCode:
void main()
{
String str = 'abcde';
RuneIterator iterator = RuneIterator(str);
while (iterator.moveNext())
{
print(String.fromCharCode(iterator.current));
}
}
Результат выполнения кода:
"a"
"b"
"c"
"d"
"e"
Пример
Давайте соберем все руны строки в список:
void main()
{
String str = '12345';
RuneIterator iterator = RuneIterator(str);
List<int> res = [];
while (iterator.moveNext())
{
res.add(iterator.current);
}
print(res);
}
Результат выполнения кода:
[49, 50, 51, 52, 53]
Смотрите также
-
класс
Runes,
который представляет набор рун строки -
свойство
current,
которое возвращает текущую руну -
метод
moveNext,
который переходит к следующей руне -
метод
fromCharCodes,
который создает строку из кодов символов