File tree Expand file tree Collapse 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 Expand file tree Collapse file tree 3 files changed +6
-6
lines changed Original file line number Diff line number Diff line change @@ -6,19 +6,19 @@ fn main() {
66
77 let s3 = takes_and_gives_back ( s2) ; // s2はtakes_and_gives_backにムーブされ
88 // 戻り値もs3にムーブされる
9- } // ここで、s3はスコープを抜け、ドロップされる。s2もスコープを抜けるが、ムーブされているので、
10- // 何も起きない。 s1もスコープを抜け、ドロップされる。
9+ } // ここで、s3はスコープを抜け、ドロップされる。s2はムーブされているので、何も起きない。
10+ // s1もスコープを抜け、ドロップされる。
1111
1212fn gives_ownership ( ) -> String { // gives_ownershipは、戻り値を
1313 // 呼び出した関数にムーブする
1414
15- let some_string = String :: from ( "hello " ) ; // some_stringがスコープに入る
15+ let some_string = String :: from ( "yours " ) ; // some_stringがスコープに入る
1616
1717 some_string // some_stringが返され、呼び出し元関数に
1818 // ムーブされる
1919}
2020
21- // takes_and_gives_backは 、Stringを一つ受け取り、返す。
21+ // この関数は 、Stringを一つ受け取り、返す。
2222fn takes_and_gives_back ( a_string : String ) -> String { // a_stringがスコープに入る。
2323
2424 a_string // a_stringが返され、呼び出し元関数にムーブされる
Original file line number Diff line number Diff line change 11fn main ( ) {
22 // ANCHOR: here
3- {
3+ {
44 let s = String :: from ( "hello" ) ; // sはここから有効になる
55
66 // sで作業をする
Original file line number Diff line number Diff line change @@ -10,5 +10,5 @@ fn main() {
1010fn calculate_length ( s : & String ) -> usize { // sはStringへの参照
1111 s. len ( )
1212} // ここで、sはスコープ外になる。けど、参照しているものの所有権を持っているわけではないので
13- // 何も起こらない
13+ // ドロップはされない。
1414// ANCHOR_END: here
You can’t perform that action at this time.
0 commit comments