我无意中发现了一些使用 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
我以前在哈斯克尔尝试过,我的意思是在一个教程网站上看了10分钟,然后跑回到 c + + ,但是我记得我读过一些关于 Haskell 的 Some
和 None
的东西。我很惊讶在拉斯特看到这个。有人能解释一下为什么 .get()
返回 Some
或者 None
吗?