Loops 使用循环-dart编程语言使单词向下移动

Loops 使用循环-dart编程语言使单词向下移动,loops,dart,Loops,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)} : ';

例如,我编写了如下代码:

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 :     w          
Baris   2 :     a      e    
Baris   3 :     n   t  a    
Baris   4 : i   t   o  t     
我怎样才能把它改成这样:

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 :     w          
Baris   2 :     a      e    
Baris   3 :     n   t  a    
Baris   4 : i   t   o  t     

我无法想象这种方法会得到任何帮助。谢谢你

一个简单的解决办法是将单词保留为相同的长度:

var katas = input.split(' ');
var maxLength = katas.map((e) => e.length).reduce(max);
katas = katas.map((e) => e.padLeft(maxLength)).toList();

当我写这篇文章时,它说的是未定义的名称“max”,我应该为max填写什么?您需要导入
dart:math