#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
цикла; он не более эффективен.