Sections
|
<( オブジェクト実行 )>
実行定義はレンダー定義によく似ています.renderの代わりにexecuteと書けばよいのです. ただし, 中身は全く違います. 実行定義はDML2コマンドの塊で, ある型のオブジェクトをどのように実行するかを定義しています. これはPageオブジェクトの配列があるためです. それぞれのオブジェクトはDML2の出力がどのような静的ファイルになるかを表現しています. それぞれをファイルにレンダーするかわりに, 実行するほうが簡単です.
object Page { val title val content }
execute Page { output "<(title)>.html" { <html><head><title><(title)></title></head><body> <(content)> </body></html> } }
Page index Page news # Assign stuff to index and news
|
上の例でわかるように, 実行によりDML2オブジェクトをファイルへ出力することができます. これにより出力ファイルを明示的に指定する必要がなくなります. これによりファイルを変更することなく同じタイプのページを簡単に保守することができます.
これらの文が自動的に実行されると思うかもしれませんが, 実はそうではありません. DML2では実行するオブジェクトを明示的に指定する必要があります. 指定するのは簡単です:
execute index execute news
|
そのうち(次のいくつかの章を読んだあとで), 配列について学ぶでしょう. 一度に配列全体を実行することができます(とても便利だと思いますよ). 配列を学んだ後にもう一度読んでみるとよいでしょう.
|
|