Home News DOC Class DL Others Cooker
Documents  >  Tutorial  >  基本要素
Riceプログラムを構成する基本要素

Rice プログラムを構成する基本要素、コメント、import 命令、クラス定義について説明していきます。

この三つの要素が Rice を構成する最大の要素です。Rice スクリプトはこれらの要素の繰り返しで記述されます。


目次:


サンプルコード

コメント

import 命令

クラス定義

サンプルコード

まずは、説明に使用するサンプルコードを例示します。

1:

/*--------------------------------------------------------------------

2:

sample code

3:

This is a multi-line comment.

4:

----------------------------------------------------------------------*/

5:

// This is a single-line comment.

6:

/**Named**----------------------------- This is a named comment.

7:

It is a body of named comment.

8:

----------------------------------------------------------------------*/

9:

import "external.88"

10:

11:

class main

12:

open method void start()

13:

endmethod

14:

open method void end()

15:

endmethod

16:

endclass

サンプルコードは、三つの大きな要素で構成されています。コメント、import 命令、クラス定義です。


1~8行目が、コメント。

9行目が、import命令。

11行目以降が、クラスの定義。


Rice プログラムは、この三つの要素を繰り返して作られます。

更に言えば、コメントは実行時に無視されます。import 命令は実行の前に外部ファイルを命令の位置に展開します。展開したファイルにコメント、import 命令が有れば同じように処理されます。

その結果、プログラムの実行時にはクラス定義だけが残ります。

クラス定義の外部に存在できるのは、コメントと import 命令だけであることに注意してください。両者は、プログラムの実行時に直接の影響を持ちません。

大域変数のような、プログラムの実行時に直接の影響を持つクラス定義外部の要素は存在しません。

コメント。

コメントはソースコードに挿入された注釈です。プログラムの実行時には無視されます。

コメントは、Riceソースコードの任意の場所で使用できます。つまり、クラス定義の外部でも、内部でも使用できます。


Riceには、三種類のコメントがあります。

複数行コメント

単一行コメント

名前付きコメント

複数行コメント

1:

/*--------------------------------------------------------------------

2:

sample code

3:

This is a multi-line comment.

4:

----------------------------------------------------------------------*/

サンプルコードの1行目から4行目は複数行のコメントの例です。

/* から */ までの間のテキストは実行時に無視されます。コメント内で改行もできるので複数行をコメントできます。

単一行コメント

5:

// This is a single-line comment.

サンプルコードの5行目は単一行のコメントの例です。

// から行末までの間のテキストは実行時に無視されます。

名前付きコメント

6:

/**Named**----------------------------- This is a named comment.

7:

It is a body of named comment.

8:

----------------------------------------------------------------------*/

サンプルコードの6行目から7行目は名前付きコメントの例です。

/** から */ までの間のテキストは実行時に無視されます。コメント内で改行もできるので複数行をコメントできます。

名前付きコメントはコメントの内容をプログラムから参照できます。また、規則に従った書式で記述しなければなりません。

名前付きコメントについては別ページを設けて詳説します。

import 命令

import 命令は、ソースファイルを分割して記述するための機能です。

import 命令は、import 命令の位置に指定されたソースファイルを展開します。展開したソースファイルに import 命令があれば、同じ処理を繰り返します。

キーワード import に続く文字列で、展開したいファイルのパスを指定します。

import 命令は、クラス定義の外部で自由に使用できます。


import 命令のパスの指定方法は三つあります。

絶対パス指定。

相対パス指定。

拡張相対パス指定。


9:

import "external.88"

サンプルコードの9行目が import 命令の例です。

相対パス指定により external.88 を指定しています。この位置に external.88 の内容が展開されます。

絶対パス指定。

絶対パス指定は、ファイルシステムの最上位階層からパスを指定する方法です。

これは Windows で標準的に使われるパスの指定法です。説明は省略します。

相対パス指定。

相対パス指定は、カレントディレクトリを基準としてパスを記述する方法です。

これは Windows で標準的に使われるパスの指定法です。説明は省略します。

拡張相対パス指定。

拡張相対パス指定は、import 命令が記述されているソースファイルを基準としてパスを記述する方法です。

拡張相対パス指定では、@がパス指定のための記号になります。


"@\external.88"

"@@\somewhere\external.88"


単一の@は、import命令が記述されているソースファイルが置かれているディレクトリを表します。

@@は、import命令が記述されているソースファイルが置かれているディレクトリの親ディレクトリを表します。

@@は、繰り返すことが出来ます。例えば、"@@\@@\..."は、親ディレクトリの親ディレクトリを表します。


つまり、拡張相対パス指定の@の使用方法は、相対パス指定のドットと同じです。パスの基準となる位置が違うだけです。

拡張相対パス指定はimport命令のための特別な表記法です。import命令以外のパス指定のために使うことは出来ません。

クラス定義

クラス定義は、キーワード class とキーワード endclass の間に記述されたメンバ定義の集合です。それは、クラスの状態と振舞を決定します。

11:

class main

12:

open method void start()

13:

endmethod

14:

open method void end()

15:

endmethod

16:

endclass

サンプルコードの11行目から16行目はクラス定義の例です。

クラス定義の形式

クラス定義は、以下の形式です。


class クラス名

メンバ定義

endclass


キーワード classで始まり、次にクラス名を指定します。そして、メンバ定義の後に、キーワード endclassで終了します。

クラス定義については別ページを設けて詳説します。

Copyright © Rice All rights reserved.