При программировании некоторых небольших упражнений для начинающих, пытающихся привыкнуть к Rust, я натолкнулся на некоторые результаты, которые я не понимаю, используя Vec::get
. Здесь код:
fn main() {
let command = [('G', 'H'), ('H', '5')];
for i in 0..3 {
print!(" {} ", i);
println!("{:?}", command.get(i));
}
}
вывод
0 Some(('G', 'H'))
1 Some(('H', '5'))
2 None
Я раньше занимался в Haskell, и я имею в виду, что смотрел сайт-учебник в течение 10 минут и возвращался на С++, но я помню, что читал что-то о Some
и None
для Haskell. Я был удивлен, увидев это здесь, в Русте. Может ли кто-нибудь объяснить, почему .get()
возвращает Some
или None
?