関数・変数・さくらスクリプトを短縮して書く¶
概要¶
#defineや#globaldefineディレクティブを使って、頻繁に使う関数名・変数名・さくらスクリプトの断片を短縮形で書く方法を説明します。
コード例¶
#define Ref reference
OnGhostChanged
{
"\0\s[0]%(Ref[0])さんから交代。\e"
}
このように#define Ref referenceと書くことで、辞書内でRef[*]と書けばreference[*]として処理されます。
説明¶
スコープの違い¶
| ディレクティブ | 有効範囲 |
|---|---|
#define |
次の行からそのファイルの末尾まで |
#globaldefine |
以降に読み込まれる全辞書ファイル(yaya.txt/aya.txtの読み込み順) |
処理順序¶
#defineは#globaldefineよりも先に処理されます。
REPLACEとの違い¶
OnTranslate内のREPLACE関数は表示直前にさくらスクリプトを変換しますが、#defineは辞書読み込み時に辞書テキスト自体を置換します。目的に応じて使い分けてください。
注意事項¶
辞書内のすべてのテキストが置換対象になるため、既存のテキストと衝突しない置換文字列を慎重に選ぶ必要があります。
関連項目¶
- マニュアル/文法/プリプロセッサ
- マニュアル/関数/PROCESSGLOBALDEFINE
- マニュアル/関数/SETGLOBALDEFINE