File tree 3 files changed +6
-6
lines changed
listings/ch04-understanding-ownership
no-listing-02-string-scope/src
no-listing-08-reference-with-annotations/src
3 files changed +6
-6
lines changed Original file line number Diff line number Diff line change @@ -6,19 +6,19 @@ fn main() {
6
6
7
7
let s3 = takes_and_gives_back ( s2) ; // s2はtakes_and_gives_backにムーブされ
8
8
// 戻り値もs3にムーブされる
9
- } // ここで、s3はスコープを抜け、ドロップされる。s2もスコープを抜けるが、ムーブされているので、
10
- // 何も起きない。 s1もスコープを抜け、ドロップされる。
9
+ } // ここで、s3はスコープを抜け、ドロップされる。s2はムーブされているので、何も起きない。
10
+ // s1もスコープを抜け、ドロップされる。
11
11
12
12
fn gives_ownership ( ) -> String { // gives_ownershipは、戻り値を
13
13
// 呼び出した関数にムーブする
14
14
15
- let some_string = String :: from ( "hello " ) ; // some_stringがスコープに入る
15
+ let some_string = String :: from ( "yours " ) ; // some_stringがスコープに入る
16
16
17
17
some_string // some_stringが返され、呼び出し元関数に
18
18
// ムーブされる
19
19
}
20
20
21
- // takes_and_gives_backは 、Stringを一つ受け取り、返す。
21
+ // この関数は 、Stringを一つ受け取り、返す。
22
22
fn takes_and_gives_back ( a_string : String ) -> String { // a_stringがスコープに入る。
23
23
24
24
a_string // a_stringが返され、呼び出し元関数にムーブされる
Original file line number Diff line number Diff line change 1
1
fn main ( ) {
2
2
// ANCHOR: here
3
- {
3
+ {
4
4
let s = String :: from ( "hello" ) ; // sはここから有効になる
5
5
6
6
// sで作業をする
Original file line number Diff line number Diff line change @@ -10,5 +10,5 @@ fn main() {
10
10
fn calculate_length ( s : & String ) -> usize { // sはStringへの参照
11
11
s. len ( )
12
12
} // ここで、sはスコープ外になる。けど、参照しているものの所有権を持っているわけではないので
13
- // 何も起こらない
13
+ // ドロップはされない。
14
14
// ANCHOR_END: here
You can’t perform that action at this time.
0 commit comments