GScript
GScript とは †
- AviSynth スクリプト言語を拡張するプラグイン。
- 複数行の if 〜 else ブロック、while ループ、for ループを利用可能にする。
- Gavino 氏作。
GScript で利用可能な構文 †
実際の利用方法については、下記の「利用方法」を参照。
if 文 †
条件文。
# 例(GScript.htm より(日本語訳は引用者による。)) if ( 条件 ) { 文 } else { 文 }
else 文は省略可。
# 例(GScript.htm より) if ( 条件 ) { 文 } else if { 文 } else { 文 }
このようにすれば、else if も使える。
while 文 †
ループ
# 例(GScript.htm より) while (条件) { 文 }
for 文 †
ループ。
for ( 変数 = init , limit , step ) { 文 }
- init (初期値)、limit (上限/下限)、step (増減値)はすべて整数(step は非ゼロ)。
- limit を超えるか、下回るまで繰り返し。
- step はオプションで、デフォルトは 1。
収録関数 †
- GScript
- GScript 拡張を引数に取る。
- GImport
- 標準の Import() に似ているが、GScript 拡張をサポートしている。
- GEval
- 標準の Eval() に似ているが、GScript 拡張をサポートしている。
利用方法 †
以下の方法のいずれかを使って、if 〜 else 文、while 文、for 文が利用できる。
1, GScript() 関数の中に記述する方法 †
# 例(GScript.htm より) GScript(""" if (i > 10) { x = 1 y = 2 z = 3 } else { x = 4 y = 5 z = 6 } """)
MT() で複数のフィルタを指定するときのように。
2. GImport() 関数を使ってインポートする方法 †
# 例(GScript.htm より) GImport("MyGScript.avs")
GImport() は、標準の Import() に似ているが、インポート対象のファイル内での GScript 拡張の使用をサポートしている。1 の方法と違い、MyGScript.avs の中では if 〜 else 文など GScript で追加された構文を直接記述できる。
メモ †
- GScript 呼び出しの中で、通常の AviSynth スクリプトを記述することも可能。
- GScript 環境の中で宣言された関数は外部から呼び出せる。逆もまた然り。
- すべて式ではなく(try 〜 catch のように)複合文なので、代入の右辺には使えない。
- ループは「コンパイル時」構文。ランタイムフィルタグラフにループはなく、グラフの構築においてのみ存在(再帰関数のように)。
- v1.1 から、波括弧({)前のコメントが可能になりました。
関連リンク †
最終更新日時: 2014-03-11 (火) 03:48:03 (3862d)