Как создать список всех алфавитов (прописных) в dart?

#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(""); .