2020-11-01から1ヶ月間の記事一覧

覚えておきたい基本トレイト

モノから文字列への変換 - ToString プリント出力 - Display / Debug 初期値 - Default 変換 - From<T> / Into<T> コピーの生成 - Clone / Copy 失敗のある変換 - FromStr ToString は失敗しない変換 参照変換 - AsRef<T: ?Sized> オーナーシップ - Borrow String - owe their</t:></t></t>…

Copy / Clone トレイト

Copy と Clone の違い Copy 複製は暗黙的に行われる。マーカートレイトの一つで、ビット列のコピーが行われる。Sallow copyとなるため、参照をうまく扱えない。 Clone 複製は明示的に行う必要がある。cloneメソッドを実装することで、コピー内容を変更できる…

Stringの生成

文字列 (String)の生成から、各トレイトの理解が重要であることがわかる。 let s = "hello".to_string(); // ToString let s = String::from("hello"); // From let s: String = "hello".into(); // Into let s = "hello".to_owned(); // ToOwned 参照 The C…

std::io::prelude::* の役割

preludeの役割 IOモジュールが再エクスポートされる。 これによって一つ一つインポートする苦痛を緩衝させる目的があるとのこと。 pub use super::BufRead; pub use super::Read; pub use super::Seek; pub use super::Write; 参照 doc.rust-lang.org

コンビニのレジ袋代について

ファミマのCMで中華まんが100円と連呼されていたので、「中華まん」を2つお願いしますと。 ただ外国人の店員さんには通じなかったのか、「肉まん?」と聞き直されます。 再度「中華まん」と伝えるも通じず、「ピザまん?」と聞き直されます。 なので直接…

モジュールシステム

モジュール Rustは1ファイル1モジュールである。 使用するモジュールはルートファイルで宣言する必要がある。 ファイルモジュール ファイル構成 src -+ - main.rs | + module_a.rs | + module_b.rs src/main.rs mod module_a; mod module_b; ディレクトリ…