Rustを学び始めた初心者です。
Ver1.18を使用しています。
rust
1fn main() { 2 let mut v = vec![1,2,3,4,5]; 3 v.push(45); 4 v.push(12); 5 println!("vec {:?}", v); 6 7 let v3 = &v[3]; 8 let v3 = *v3; 9 v.push(44); 10 println!("opt1 {:?}", v3); 11 12 let v4: Option<&i32> = v.get(20); 13 //let v4 = *v4; 14 v.push(45); 15 println!("opt2 {:?}", v4); 16 17}
上記のコードではエラーが出ます。v4の参照がある為です。
v3のように参照を外したいのですがやり方がわかりません。
やり方がわかる方がおられましたら宜しくお願いします。
追記
rust
1fn main() { 2 let mut v = vec![1,2,3,4,5]; 3 let v4: Option<i32>; 4 { 5 let tmp: Option<&i32> = v.get(20); 6 if tmp.is_none() { 7 v4 = None; 8 } else { 9 v4 = Some(*tmp.unwrap()); 10 } 11 } 12 v.push(45); 13 println!("opt2 {:?}", v4);
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/02/09 15:13
2019/02/09 15:32
2019/02/10 02:49
2019/02/10 02:58
2019/02/10 08:21