Руны в Dart
Свойство length у строки показывает число
кодовых единиц UTF-16, а не всегда число привычных
букв на экране. Квадратные скобки с номером тоже
берут одну единицу, поэтому один видимый значок
может занимать два номера подряд.
Последовательность кодовых точек Юникода дает
свойство runes. У него своя длина: она
ближе к числу символов, которые вы видите. Сравним
длину строки и длину ее рун на примере со смайлом:
var word = "hi🙂";
print(word.length);
print(word.runes.length);
У английского слова единицы и буквы совпадают.
Первый знак слова dart по нулевому номеру:
var word = "dart";
print(word[0]); // d
Последний знак того же слова через длину минус единица:
var word = "dart";
print(word[word.length - 1]); // t
Дана строка:
var txt = "note";
Выведите первый знак этой строки.
Дана строка:
var txt = "play";
Выведите последний знак этой строки.
Дана строка:
var txt = "code";
Выведите число кодовых единиц в этой строке.