Rustでスタックのようなものを書こうとしているのですが、Option<T>の扱いかたがよくわかりません。
下記のコードで、pop()したときに、pop()の中で vecのpopを呼んで、Some(n)が返ってきたらaccにセットしたいです。
pop()の中の書き方を教えていただけないでしょうか。または呼び出し方も含めて変更したほうが良いでしょうか。
Rust
1fn main(){ 2 3 // スタック 4 let mut stack:Vec<u8> = Vec::with_capacity(10); 5 // アキュームレータ 6 let mut acc: u8 = 0; 7 stack.push(3); 8 stack.push(5); 9 let val:Option<u8> = Some(0); 10 11 pop(val, &mut stack, &mut acc); 12 13} 14 15fn pop(input: Option<u8>, stack:&mut Vec<u8>, acc: &mut u8) { 16 //このretの値をaccにセットしたい。 17 let ret = stack.pop(); 18 19 acc = match ret { 20 Option::Some(r) => r, 21 Option::None => acc, 22 }; 23 24}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/11 15:45