Как мне проверить, есть ли буква в списке?

#string #rust

#строка #Ржавчина

Вопрос:

Мне нужно проверить, есть ли символ в списке символов наиболее эффективным способом. Я понимаю, что это можно сделать с помощью for цикла, но я хочу знать, есть ли лучший способ сделать это.

 fn main() {
    let letra = 'a';
    let vocales = ['a', 'e', 'i', 'o', 'u'];
    // compare: if letra is in vocales {}
}
  

Комментарии:

1. Вы также можете взглянуть на HashSet . Для небольших наборов фрагмент может быть более эффективным, но если он увеличивается в размере, следует использовать набор.

2. Спасибо за ваш комментарий. Я собираюсь прочитать документацию по Hashset.

Ответ №1:

Вы можете использовать vocales.contains(amp;letra) , которое будет истинным, если массив vocales содержит элемент letra :

 fn main() {
    let letra = 'a';
    let vocales = ['a', 'e', 'i', 'o', 'u'];

    if vocales.contains(amp;letra) {
      // ...
    }
}
  

Комментарии:

1. Обратите внимание, что это тот же алгоритм, что и при использовании for цикла; он не более эффективен.