2
respostas

[Sugestão] Aula - Boas maneiras KakoBOT

Durante a aula o Kako criou um If grande, eu achei muito trabalhoso entao montei outra estrutura para a função de boas maneiras do Bot acredito ter o mesmo resultado porem sem aquele monte de || dentro do if para fazer comparações segue cod:

class GoodManners {
  String question;
  bool isThisGoodManners = false;
  String kakoBot = 'KakoBOT:\n';
  GoodManners({
    required this.question,
  });

  bool isThisManners() {
    var goodMannersList = ['oi', 'ola', 'obrigado', 'bom','boa','tarde', 'noite', 'dia', 'de nada'];

    for (var item in goodMannersList) {
      if (question.toLowerCase().contains(item)) {
        isThisGoodManners = true;
        return isThisGoodManners;
      }
    }
    return isThisGoodManners;
  }
}

void main(List<String> args) {
  print(GoodManners(question: 'Ola tudo bem?').isThisManners());
}

Explicação: criei uma lista com as boas maneiras na sequencia crio um for que percorre a lista, e neste percurso faz a verificação se a questao contem um dos itens da lista (toLowerCase() é para não precisar escrever 'Ola', 'ola' repetindo palavras), o resto é igual se a palavra existe na lista ele seta a variavel para true e retorna a mesma.

2 respostas

Fala Juliano, blz ?

Sua solução parece bem justa olhando por cima, eu não recordo se ele fez daquele jeito pra tratar alguma coisa mais a frente ou tentar deixar as coisas mais claras para quem está tendo o primeiro contato com programação e afins..

Fala Matheus, entao ja terminei o modulo e nao houve nada posterior que influencie a troca do codigo pelo que postei. acredito que foi por ser mais didático o modo usado na aula