Home News DOC Class DL Others Cooker
Documents  >  Tutorial  >  名前付きコメント
名前付きコメント

名前付きコメントは内容をプログラムから参照するための特別な書式を持つコメントです。


目次:


書式と使い方

開始行

コンテント行

終了行

コマンド

参照方法

書式と使い方

名前付きコメントの書式を以下に示します。


/**識別子**...

任意の文字列...

*/


上から開始行、コンテント行、終了行と呼びます。それぞれが独立した行になっている必要があります。

次のコメントを考えてみましょう。


/**Sample**/


単一行の名前付きコメントのようにも複数行コメントのようにも見えますが、これは名前付きコメントです。理由は後述します。そして、開始行と終了行が独立していません。

名前付きコメントであるが書式を満たしていないので例外が発生します。


このコメントを正しい名前付きコメントに修正してみましょう。


/**Sample**

*/


これで Sample という名前の名前付きコメントが定義できました。これをプログラムから参照してみましょう。

1:

/**Sample**

2:

*/

3:

4:

rice rr;

5:

string namedComment = rr.Sample;

これで Sample という名前の名前付きコメントを参照できます。Sample はコンテント行を持たないので namedComment には空文字列が代入されます。

開始行

複数行コメントの先頭が下記の規則に合致していれば、それは名前付きコメントです。


/**識別子**


/** と ** の間に識別子が挟まれています。識別子は Rice 言語の識別子の規則に従います。


開始行は名前とコマンドを指定します。コマンドを指定した場合は以下の様になるでしょう。


/**識別子**コマンド


コマンドの指定は任意です。コマンドについては後述します。


開始行全体を ** で分割したの二番目の項が名前として使用されます。

分割結果が三つ以上ある場合は三番目の項がコマンドです。コマンドを指定する場合は "concat" か "trimcat" を指定してください。これ以外のコマンドが指定された場合は無視されます。

四番目以降の項が存在する場合は、それらの項は無視されます。これを使って名前付きコメントにコメントを入れることができます。


/**Sample**concat**名前付きコメントのコメント。

*/


開始行は独立した行でなければなりません。この行に存在する内容が名前付きコメントとして参照されることはありません。

コンテント行

コンテント行は名前付きコメントとして参照される内容です。任意であり行数に制限はありません。

コンテント行の内容にも制限はありません。通常の文字列リテラルに使用できない文字も使用できます。特に、ダブルクォートをそのまま使用できます。

コンテント行が存在する場合は出現順に連結されて一つの文字列になります。この連結された文字列が参照結果です。

連結方法を開始行のコマンドにより制御できます。

終了行

終了行は複数行コメントの終了記号が含まれる行です。

終了行は独立した行でなければなりません。この行に存在する内容が名前付きコメントとして参照されることはありません。

コマンド

コマンドでコンテント行の連結方法を制御できます。連結方法は三つのモードがあります。制御無し、concat、trimcat です。

コマンドの指定は任意です。指定する場合は concat か trimcat を指定してください。これ以外のコマンドが指定された場合は無視されます。

例えば


/**Sample**名前付きコメントのコメント。

*/


コマンドの指定位置に "名前付きコメントのコメント。" があります。このような場合はコマンド指定が無視されて制御無しになります。

制御無し

コンテント行を連結する際に各行の終わりに改行文字を挿入します。

例えば


/**Sample**

function samplefunc() {

alert("Hello world!");

}

*/


参照の結果は以下のようになります。


function samplefunc() {⏎

alert("Hello world!");⏎

}⏎

concat

コンテント行を連結する際に改行文字を挿入しません。

例えば


/**Sample**concat

function samplefunc() {

alert("Hello world!");

}

*/


参照の結果は以下のようになります。


function samplefunc() {      alert("Hello world!");    }

trimcat

コンテント行を連結する際に各行の前後にある空白文字を除去して改行文字を挿入しません。

例えば


/**Sample**trimcat

function samplefunc() {

alert("Hello world!");

}

*/


参照の結果は以下のようになります。


function samplefunc() {alert("Hello world!");}

文字列リテラルのように改行の無い参照結果が必要な場合は有意なコマンドを指定してください。制御無しは参照結果が単一行であっても最後に改行文字を加えます。

参照方法

名前付きコメントの参照は rice クラスの変数を経由して行います。

1:

/**Sample**

2:

*/

3:

4:

rice rr;

5:

string namedComment = rr.Sample;

6:

namedComment = rr.GetComment("Sample");

rice クラスの詳細についてはマニュアルマニュアルを参照してください。

Copyright © Rice All rights reserved.