@@ -23,12 +23,6 @@ fn main() {
23
23
let short_lived_binding = 2;
24
24
25
25
println!("inner short: {}", short_lived_binding);
26
-
27
- // This binding *shadows* the outer one
28
- // この変数はスコープ外の同名の変数を *シャドーイング* します。
29
- let long_lived_binding = 5_f32;
30
-
31
- println!("inner long: {}", long_lived_binding);
32
26
}
33
27
// End of the block
34
28
// ブロックの終わり
@@ -40,15 +34,14 @@ fn main() {
40
34
// FIXME ^ コメントアウトしましょう
41
35
42
36
println!("outer long: {}", long_lived_binding);
43
-
44
- // This binding also *shadows* the previous binding
45
- // この変数バインディングも以前に定義した変数を *シャドーイング* します
46
- let long_lived_binding = 'a';
47
-
48
- println!("outer long: {}", long_lived_binding);
49
37
}
50
38
```
39
+
40
+ <!--
51
41
Also, [variable shadowing][variable-shadow] is allowed.
42
+ -->
43
+ 同様に、[ 変数のシャドーイング] [ variable-shadow ] も可能です。
44
+
52
45
``` rust,editable,ignore,mdbook-runnable
53
46
fn main() {
54
47
let shadowed_binding = 1;
@@ -57,13 +50,15 @@ fn main() {
57
50
println!("before being shadowed: {}", shadowed_binding);
58
51
59
52
// This binding *shadows* the outer one
53
+ // この変数はスコープ外の同名の変数を *シャドーイング* します
60
54
let shadowed_binding = "abc";
61
55
62
56
println!("shadowed in inner block: {}", shadowed_binding);
63
57
}
64
58
println!("outside inner block: {}", shadowed_binding);
65
59
66
60
// This binding *shadows* the previous binding
61
+ // この変数バインディングは以前に定義した変数を *シャドーイング* します
67
62
let shadowed_binding = 2;
68
63
println!("shadowed in outer block: {}", shadowed_binding);
69
64
}
0 commit comments