コメントの書き方
このページでは、AviSynth スクリプトの中でコメントを書く方法を紹介します。
# †
スクリプト中に # を記述すると、# からその行の終わりまでの文字列が、すべてコメントとして扱われます。これは、AviSynth でコメントを書く際に使われる、もっとも一般的な方法です。
Version() # # からその行の終わりまでがコメントとして扱われる Greyscale() # 行の途中から書くことも可能 #Invert() #FlipVertical() return last
/* */ (v2.5.8 以降) †
ブロックコメント用の記号。
/* から */ までの範囲がコメントとして扱われるようになる。# とは違って、複数行のスクリプトに適用が可能。
Version() /* # 複数行をまとめてコメントアウトすることが可能 Greyscale() Invert() # 中にコメントを書くこともできる。 FlipVertical() */ return last
AviSynth v2.5.8 Alpha 2 から追加。
[* *] (v2.5.8 以降) †
こちらもブロックコメント用の記号。ネスト(入れ子)にすることが可能な点が、上の「/* */」と異なる。
[* から *] までの範囲がコメントとして扱われるようになる。# とは違って、複数行のスクリプトに適用が可能。
Version() [* # 複数行をまとめてコメントアウトすることが可能 Greyscale() [* Invert() # こちらはネストも可。 FlipVertical() *] *] # ここまでコメント return last
AviSynth v2.5.8 Alpha 2 から追加。
""" †
Python のドキュメンテーション文字列(docstring)と同じスタイルで、ブロックコメントを記述することも可能です。次の例のように """ (二重引用符を 3 つ連続して記述する)で囲む形で記述します。複数行のスクリプトをまとめてコメントアウト(一時的に無効化)したいときには便利でしょう。
Version() """ # Pythonのdocstring(ドキュメンテーション文字列)と同じ # スタイルでブロックコメントも実現可能 Greyscale() Invert() FlipVertical() """ # ただし、最後がクリップじゃないとエラーが出る # この場合、docstring の後にクリップがないので、 # return 文で戻り値を明示する必要あり return last
ただしこの方法では、戻り値としてクリップを明示しなければならない場合があります。上の例でもし return 文を省略すると、スクリプトの最後が """ で囲まれた文字列となります(これに対し、# によるコメントは完全に無視されます)。AviSynth では戻り値はクリップでなければならないため、エラーが発生します。
__END__ †
__END__ と記述すると、それ以降の行すべてがスクリプトして解釈されなくなります。これは、Ruby において __END__ 以降がスクリプトではなくデータとして扱われるのと似ています*1。
Version() __END__ # Ruby のように __END__ 以降はスクリプトとして解釈されなくなる。 # ただし Ruvy の場合は、DATA とセットで使い、データとして利用される Greyscale() Invert() FlipVertical() return last
参考 †
- Facility to skip portions of script - Doom9's Forum
- __END__ を使ったコメントについては、上記のスレッドにおける Fizick 氏の投稿を参考にしました。
- niiyan/2007-09-20