public

public

584 bookmarks
Newest
モジュールを定義して、スコープとプライバシーを制御する - The Rust Programming Language 日本語版
モジュールを定義して、スコープとプライバシーを制御する - The Rust Programming Language 日本語版
<em>モジュール</em> はクレート内のコードをグループ化し、可読性と再利用性を上げるのに役に立ちます。 モジュールは要素の <em>プライバシー</em> も制御できます。プライバシーとは、要素がコードの外側で使える <em>(公開 public)</em> のか、内部の実装の詳細であり外部では使えない <em>(非公開 private)</em> のかです。
·doc.rust-jp.rs·
モジュールを定義して、スコープとプライバシーを制御する - The Rust Programming Language 日本語版
パッケージとクレート - The Rust Programming Language 日本語版
パッケージとクレート - The Rust Programming Language 日本語版
クレートはバイナリかライブラリのどちらかです
パッケージが何を持ってよいかはいくつかのルールで決まっています。 パッケージは0個か1個のライブラリクレートを持っていないといけません。それ以上は駄目です。 バイナリクレートはいくらでも持って良いですが、少なくとも(ライブラリでもバイナリでも良いですが)1つのクレートを持っていないといけません。
Cargoは <em>src/main.rs</em> が、パッケージと同じ名前を持つバイナリクレートのクレートルートであるという慣習に従っているためです。 同じように、Cargoはパッケージディレクトリに <em>src/lib.rs</em> が含まれていたら、パッケージにはパッケージと同じ名前のライブラリクレートが含まれており、<em>src/lib.rs</em> がそのクレートルートなのだと判断します。 Cargoはクレートルートファイルを <code class="hljs">rustc</code>に渡し、ライブラリやバイナリをビルドします。
·doc.rust-jp.rs·
パッケージとクレート - The Rust Programming Language 日本語版
if letで簡潔なフロー制御 - The Rust Programming Language 日本語版
if letで簡潔なフロー制御 - The Rust Programming Language 日本語版
言い換えると、<code class="hljs">if let</code>は値が一つのパターンにマッチした時にコードを走らせ、 他は無視する<code class="hljs">match</code>への糖衣構文と考えることができます。
·doc.rust-jp.rs·
if letで簡潔なフロー制御 - The Rust Programming Language 日本語版
メソッド記法 - The Rust Programming Language 日本語版
メソッド記法 - The Rust Programming Language 日本語版
メソッドは、<code class="hljs">self</code>の所有権を奪ったり、 ここでしているように不変で<code class="hljs">self</code>を借用したり、可変で<code class="hljs">self</code>を借用したりできるのです。 他の引数と全く同じですね。
<em>関連関数</em>
Rubyでいうモジュール関数
·doc.rust-jp.rs·
メソッド記法 - The Rust Programming Language 日本語版