mex
to log
2021.05.29
Rustの本を読んでいる。トレイトって馴染みないなぁ。
実践Rustプログラミング入門
Amazonで初田 直也, 山口 聖弘, 吉川 哲史, 豊田 優貴, 松本 健太郎, 原 将己, 中村 謙弘, フォルシア株式会社の実践Rustプログラミング入門。アマゾンならポイント還元本が多数。初田 直也, 山口 聖弘, 吉川 哲史, 豊田 優貴, 松本 健太郎, 原 将己, 中村 謙弘, フォルシア株式会社作品ほか、お急ぎ便対象商品は当日お届けも可能。また実践Rustプログラミング入門もアマゾン配送商品なら通常配送無料。
https://www.amazon.co.jp/dp/4798061700/
以下は雑なメモ。
RustはGCを持たない。所有権、借用、ライフタイムとプログロミング言語でメモリ管理を行う。
スコープを出た途端に破棄することを言語レベルでサポートしていることです。
Rustのメモリ管理って面白い - Qiita
Rust という言語に初めて触れてみて、これのメモリ管理戦略って面白いなと思ったのでちょっと書いてみます。まだ真剣に見始めて実質1日くらいなので大いに勘違している可能性もありますが、自分の理解のためにもまとめてみます。 なお、言語の成り立ちとか特徴とかはググると色々出てくると思いますが、個人的に乱暴にまとめてしまうと ...
https://qiita.com/ksato9700/items/312be99d8264b553b193#%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%97%E3%81%A8%E5%80%A4%E3%81%AE%E5%AF%BF%E5%91%BD
ゼロコスト抽象化を追求、抽象化の機能を追加のコストなく使用できる(静的ディスパッチ)。
hacolab.hatenablog.com
https://hacolab.hatenablog.com/entry/2019/07/12/235747
関連関数は型から関数を呼ぶ形式で定義される関数のこと。
The Rust Programming Language 日本語版
メソッドは関数に似ています: fnキーワードと名前で宣言されるし、引数と返り値があるし、 どこか別の場所で呼び出された時に実行されるコードを含みます。ところが、 メソッドは構造体の文脈(あるいはenumかトレイトオブジェクトの。これらについては各々第6章と17章で解説します)で定義されるという点で、 関数とは異なり、最初の引数は必ず self になり、これはメソッドが呼び出されている構造体インスタンスを表します。 Rectangleインスタンスを引数に取る area関数を変え、代わりに Rectangle構造体上に area メソッドを作りましょう。 リスト5-13に示した通りですね。 ファイル名: src/main.rs #[derive(Debug)] struct Rectangle { width: u32, height: u32, } impl Rectangle { fn area(&self) -> u32 { self.width * self.height } } fn main() { let rect1 = Rectangle { width: 30, height: 50 };
https://doc.rust-jp.rs/book-ja/ch05-03-method-syntax.html#%E9%96%A2%E9%80%A3%E9%96%A2%E6%95%B0
to log