#dart
Вопрос:
Результат, ожидаемый от программы
List<String> alphabets = [ "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" ];
Комментарии:
1. Почему приведенный вами пример не является правильным и достаточно хорошим решением? Он удовлетворяет тому, что содержит строки всех букв верхнего регистра (ASCII). Быть более запутанным в вычислении этого списка не кажется оправданным. Так почему же ты хочешь чего-то другого? (Кроме того, зачем вам нужен список заглавных букв. Все, что вы можете сделать с этим, кажется, что это можно сделать, по крайней мере, с помощью строки или специально разработанного предиката).
Ответ №1:
Вы можете использовать List.generate()
для создания списка нужного типа. Первый параметр-это длина нужного списка, то есть расстояние от Z до символа или просто 26. Второй параметр-это функция, которая сопоставляет каждый индекс с нужным вам символом.
var aCode = 'A'.codeUnitAt(0);
var zCode = 'Z'.codeUnitAt(0);
List<String> alphabets = List<String>.generate(
zCode - aCode 1,
(index) => String.fromCharCode(aCode index),
);
Взгляните на список.создайте конструктор List
класса.
Ответ №2:
Следующая программа выдает желаемый результат
void main() {
List<String> alphabets=[];
for(int i=65; i<=90; i ){
alphabets.add(String.fromCharCode(i));
}
print(alphabets);
}
Об этом String.fromCharCode
читайте здесь
Комментарии:
1. Более короткой версией была бы
var letters = [for (var i = 65; i <= 90; i ) String.fromCharCode(i)];
. Илиvar lettes = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split("");
.