コメントは、コードにメモを追加したり文書化したりする方法です。コンパイラによって無視され、Moveのバイトコードには反映されません。コメントを使用して、コードの動作を説明したり、自分自身や他の開発者へのメモを追加したり、コードの一部を一時的に削除したり、ドキュメントを生成したりすることができます。Moveには、行コメント、ブロックコメント、ドキュメントコメントの3種類のコメントがあります。

行コメント

行コメントは、二重スラッシュ // を使用して行の残りをコメントアウトします。// の後のすべてのテキストはコンパイラによって無視されます。

module book::comments_line {
    fun some_function() {
        // これはコメント行です
    }
}

module book::comments_line_2 {
    // すべてにメモを追加しましょう!
    fun some_function_with_numbers() {
        let a = 10;
        // let b = 10 この行はコメントされ、実行されません
        let b = 5; // ここにはコードの後にコメントがあります
        a + b; // 結果は15です、10ではありません!
    }
}

ブロックコメント

ブロックコメントは、コードブロックをコメントアウトするために使用されます。/* で始まり */ で終わります。/**/ の間のすべてはコンパイラによって無視されます。ブロックコメントは、一行または複数行をコメントアウトするのに使用できます。行の一部をコメントアウトするために使用することもできます。

module book::comments_block {
    fun /* あらゆる場所でコメントできます */ go_wild() {
        /* ここに
           そこに
           どこにでも */ let a = 10;
        let b = /* ここでも */ 10; /* ここでも */
        a + b;
    }
    /* 特定の式や定義を削除するために使用できます
    fun empty_commented_out() {

    }
    */
}

この例は少し極端ですが、行の一部をコメントアウトするためにブロックコメントをどのように使用できるかを示しています。

ドキュメントコメント

ドキュメントコメントは、コードのドキュメントを生成するために使用される特別なコメントです。ブロックコメントに似ていますが、3つのスラッシュ /// で始まり、それらが文書化する項目の定義の前に配置されます。

/// モジュールはドキュメントがあります!
module book::comments_doc {

    /// これは0x0アドレスの定数です!
    const AN_ADDRESS: address = @0x0;

    /// これは構造体です!
    public struct AStruct {
        /// これは構造体のフィールドです!
        a_field: u8,
    }

    /// この関数は何かをします!
    /// そして、文書化されています!
    fun do_something() {}
}

The Move Book へ戻る