はじめに
#NO IMAGEThe Rust Programming Language 日本語版 - The Rust Programming Language 日本語版
を読んでいる
正月なので、なぜか目標を100個建てるらしい。やってみようか。
前回の振り返り
#今日読む場所
#お勉強
#メモ
#- なにやるんだっけ
- unwrapなにやるか忘れた
- ああそうか、Errの時は必ずpanic!を呼ぶメソッドだった
プログラムにハードコードされるのではなく、IPアドレス文字列がユーザ起源でそれ故に確かに失敗する可能性がある場合、 Resultをもっと頑健な方法で処理したほうが絶対にいいでしょう。
- ごちゃごちゃ言ってるけども、明示的にErrをpanic!しても良い場合を除いてちゃんと処理書こうねってことね
Rustの型システム(故にコンパイラが行う型精査)を使用して多くの検査を行ってもらうことができます
- これずっと思ってた
- panic!にするもなにも型安全だからあんまり起こらないんじゃないかって
- 説明を理解した
- 1 ~ 100の可能性のあるguess変数を1 ~ 100であるかどうかをloopして確かめるのは阿呆らしいよね
- 最初から定義する時に1 ~ 100 でしかインスタンスを作成できないGuess型を作成してしまえということ
- structの中にnew関数があって、そこでインスタンスを作る
- この型がインスタンスを作成できなかったらpanic!にすれば良いということ
- なるほど、エラーをおこす振舞いの型を作ってしまえってやつだな、思想が強い
- ジェネリック型、トレイト、ライフタイム
- トレイトきたー、よくわからんかった
まとめ
#- 冷静にまとめればおかしい値が入ってきたらpanic!したいね
- でもpanic!を値で比較してチェックっておかしいね
- じゃあ型としてnewする関数内でチェックしておいて、範囲内や指定外の値が入ってきた場合は型作成でpanicしよう
- なので型作れ!!!!って話だった
- 次はここ