Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

New

実際のコードを型に関連付けるには、impl ブロックを使います。

impl List {
    // TODO、コードが動くようにする
}

次に必要なのは、実際にコードを書く方法を理解することです。Rust では 次のように関数を宣言します。

fn foo(arg1: Type1, arg2: Type2) -> ReturnType {
    // 本体
}

最初に欲しいのは、リストを構築する方法です。実装の詳細は隠しているため、 それを関数として提供する必要があります。Rust でこれを行う通常の方法は、 静的メソッドを提供することです。これは impl の中にある 通常の関数にすぎません。

impl List {
    pub fn new() -> Self {
        List { head: Link::Empty }
    }
}

これについていくつか注意点があります。

  • Self は「impl の横の上部に書いたあの型」の別名です。同じことを 繰り返さずに済むので便利です!
  • 構造体のインスタンスは、構造体を宣言する場合とほぼ同じ方法で作成します。ただし、 フィールドの型を指定する代わりに、値で初期化します。
  • enum のバリアントは、名前空間演算子である :: を使って参照します。
  • 関数の最後の式は暗黙的に返されます。 これにより、単純な関数を少しすっきり書けます。他の C 系言語と同じように、 return を使って早期に返すこともできます。