はじめに
#NO IMAGEThe Rust Programming Language 日本語版 - The Rust Programming Language 日本語版
を読んでいる
お勉強
#- 時間を20分から15分に変えた
- どれだけ詰め込めるか
NO IMAGEパターン記法 - The Rust Programming Language 日本語版
- ここから
メモ
#refって出てきたんだっけ- 記憶ねぇ
let robot_name = Some(String::from("Bors"));
match robot_name {
// 名前が見つかりました: {}
Some(name) => println!("Found a name: {}", name),
None => (),
}
// robot_nameは: {:?}
println!("robot_name is: {:?}", robot_name);
- これが失敗するらしい
このコードを修正するために、
Some(name)パターンに所有権を奪わせるのではなく、robot_nameのその部分を借用させたいです。
- なるほどな、
&でいい
パターンの外なら、値を借用する手段は、
&で参照を生成することだと既にご認識でしょうから、解決策はSome(name)をSome(&name)に変えることだとお考えかもしれませんね。
- 先回りされてる
しかしながら、「分配して値を分解する」節で見かけたように、パターンにおける
&記法は参照を生成せず、値の既存の参照にマッチします。
- うげ、なるほど
let robot_name = Some(String::from("Bors"));
match robot_name {
Some(ref name) => println!("Found a name: {}", name),
None => (),
}
println!("robot_name is: {:?}", robot_name);
-
だから
refをつけるわけね- 理解
-
可変だと
ref mutを付けるらしい- やらないほうがよさそう
-
マッチガードは結構前に見たな
matchのなかに新たに条件分岐が書けるSome(n)とか書けばnに対しての比較でmatchできる
-
大変だった
- 使わないと覚えられないなと思った
-
Unsafeきた- だめなやつ
まとめ
#-
パターンについては特にない
- 一旦理解しておく必要があったので読んでいたらかなり長かった
-
つぎここ