#loops #dart
#циклы #dart
Вопрос:
например, я пишу код, подобный этому :
main() {
var input = 'i want to eat';
print(input);
var katas = input.split(' ');
bool hurufHabis = false;
var indexHuruf = 0;
do {
hurufHabis =false;
var baris = 'Baris ${(indexHuruf 1).toString().padLeft(2)} : ';
for (var kata in katas) {
if(indexHuruf < kata.length){
baris = kata[indexHuruf] ' ';
hurufHabis = true;
}else{
baris = ' ';
}
}
indexHuruf ;
if(hurufHabis) print(baris);
} while (hurufHabis);
}
и результат будет таким:
i want to eat
Baris 1 : i w t e
Baris 2 : a o a
Baris 3 : n t
Baris 4 : t
как я могу изменить его, чтобы оно было таким :
i want to eat
Baris 1 : w
Baris 2 : a e
Baris 3 : n t a
Baris 4 : i t o t
я не могу представить, чтобы метод был таким, чтобы любая помощь оценивалась. Спасибо
Ответ №1:
Простым решением могло бы быть удаление левых слов, чтобы все они имели одинаковую длину:
var katas = input.split(' ');
var maxLength = katas.map((e) => e.length).reduce(max);
katas = katas.map((e) => e.padLeft(maxLength)).toList();
Комментарии:
1. Когда я пишу это, там написано неопределенное имя ‘max’, что я должен заполнить для max?
2. Вам нужно импортировать
dart:math
.