質問編集履歴
2
参照を修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -60,7 +60,7 @@
|
|
60
60
|
|
61
61
|
let mut v = vec![1,2,3,4,5];
|
62
62
|
|
63
|
-
let v4: Option<
|
63
|
+
let v4: Option<i32>;
|
64
64
|
|
65
65
|
{
|
66
66
|
|
@@ -72,9 +72,7 @@
|
|
72
72
|
|
73
73
|
} else {
|
74
74
|
|
75
|
-
|
75
|
+
v4 = Some(*tmp.unwrap());
|
76
|
-
|
77
|
-
v4 = Some(*i);
|
78
76
|
|
79
77
|
}
|
80
78
|
|
1
スコープを用いて参照外しを考えた
test
CHANGED
File without changes
|
test
CHANGED
@@ -47,3 +47,41 @@
|
|
47
47
|
v3のように参照を外したいのですがやり方がわかりません。
|
48
48
|
|
49
49
|
やり方がわかる方がおられましたら宜しくお願いします。
|
50
|
+
|
51
|
+
|
52
|
+
|
53
|
+
追記
|
54
|
+
|
55
|
+
----
|
56
|
+
|
57
|
+
```rust
|
58
|
+
|
59
|
+
fn main() {
|
60
|
+
|
61
|
+
let mut v = vec![1,2,3,4,5];
|
62
|
+
|
63
|
+
let v4: Option<&i32>;
|
64
|
+
|
65
|
+
{
|
66
|
+
|
67
|
+
let tmp: Option<&i32> = v.get(20);
|
68
|
+
|
69
|
+
if tmp.is_none() {
|
70
|
+
|
71
|
+
v4 = None;
|
72
|
+
|
73
|
+
} else {
|
74
|
+
|
75
|
+
let i = *tmp.unwrap();
|
76
|
+
|
77
|
+
v4 = Some(*i);
|
78
|
+
|
79
|
+
}
|
80
|
+
|
81
|
+
}
|
82
|
+
|
83
|
+
v.push(45);
|
84
|
+
|
85
|
+
println!("opt2 {:?}", v4);
|
86
|
+
|
87
|
+
```
|