- トップページ
- 書庫
- Context Free for beginners
- 別ファイルのルールを使う
別ファイルのルールを使う
Context Freeでは別のCFDGファイルのルールを使う(インクルードする)ことができます。 パソコンに保存されているファイルの他に、Context FreeのExamplesメニューで選択できるファイルもインクルードファイルとして使用することができます。
startshape password
include i_pix.cfdg
rule password {
P_5by5 { x 0 }
A_5by5 { x 1.2 }
S_5by5 { x 2.4 }
S_5by5 { x 3.6 }
W_5by5 { x 4.8 }
O_5by5 { x 6.0 }
R_5by5 { x 7.2 }
D_5by5 { x 8.4 }
I_5by5 { x 3.6 y -2 }
S_5by5 { x 4.8 y -2 }
RANDOM_LETTER_5by5 {x 1.2 y -4}
RANDOM_LETTER_5by5 {x 2.4 y -4}
RANDOM_LETTER_5by5 {x 3.6 y -4}
RANDOM_NUMBER_5by5{x 4.8 y -4 }
RANDOM_NUMBER_5by5{x 6 y -4 }
RANDOM_NUMBER_5by5{x 7.2 y -4 }
}
Examplesメニューのi_pix.cfdgをインクルードして使用しました。 このファイルを「password.cfdg」というファイル名で保存します。
保存した「password.cfdg」をインクルードしてみましょう。
startshape includeTest
include "./password.cfdg"
rule includeTest {
password {}
}
インクルードファイルの深度に制約はありませんので、インクルードされたファイルの中で他のファイルをインクルードし、そのファイルの中でさらに他のファイルをインクルード…といった多重インクルードが可能です。
Context Freeは、Examplesメニューのファイル以外がインクルードされたときには、呼び出し元のファイルと同じディレクトリを基準にインクルードファイルを探しますので、呼び出し元のファイルをCFDGファイルとして保存しておかなければなりません。 また、インクルードファイル名を相対パスで指定するときには、ファイルパスの部分をダブルクォートでくくる必要があります。 さらに、日本語(などの2バイトコード)を含む名称のフォルダにCFDGファイルが保存されていると、エラーになる場合があります。
できるようになった(はずの)こと- ExamplesメニューのCFDGファイルをインクルードしてシェイプを描画できる
- Examplesメニュー以外のCFDGファイルをインクルードしてシェイプを描画できる