DML2  v1.0.1
Sections
DML2へようこそ
はじめよう
ファイルとディレクトリ
タグのカスタマイズ
ファイル出力
オブジェクト生成
レンダリングとスコープ
オブジェクト実行
配列
配列のレンダリング
コンストラクタ
インクルード
自動タグ
dml2build
DML2について
リリースノート
<( レンダリングとスコープ )>

DML2タグを使えば, タグを(<(someTag)>のように)呼びだせば, タグの定義により(解釈された)コードが挿入されます. オブジェクトとメンバーも同じようにして参照することができます. <(someDate.month)>のようにして値を呼びだすと, (DML2エレメントを解釈して)属性のテキストを返します.

さて, オブジェクト全体を参照したときには一体何が起こるのでしょうか. ここでレンダー定義の出番です. レンダー定義とは, たとえば<(someDate)>のようにタイプした場合にに何を返すかを定義したものです. renderに続いて空白, オブジェクト型, 空白, そして開く括弧({)をタイプすることで定義することができます. タグ定義と同じです.


render Date {
Date: <(month)> <(day)>, <(year)>
}


<(someDate.day)>などの参照が一切ない点に注意しましょう. DML2にはスコープがあるためです. たとえばDateオブジェクト内では, メンバーがローカルであるため, Dateのメンバーにアクセスすることができます. しかし, Dateに含まれるTimeメンバーにアクセスしたい場合には, <(timestamp.second)>のようにタイプする必要があります(Timeメンバーはローカルではないからです).

レンダー定義に戻ります. <(someDate)>とタイプするとき, 上記で定義したテキストがインスタンスのメンバーを使ってその場所に挿入されます. これはsomeDateDate型だからです.

http://derajdezine.vze.com/
©2002 Jared Krinke. ((( Revolution )))