- 追加された行はこの色です。
- 削除された行はこの色です。
このページでは、AviSynth スクリプトの中でコメントを書く方法を紹介します。
#contents
* # [#c8f3669b]
スクリプト中に # を記述すると、# からその行の終わりまでの文字列が、すべてコメントとして扱われます。これは、AviSynth でコメントを書く際に使われる、もっとも一般的な方法です。
#code{{
Version()
# # からその行の終わりまでがコメントとして扱われる
Greyscale() # 行の途中から書くことも可能
#Invert()
#FlipVertical()
return last
}}
* """ [#z34f2a4b]
Python のドキュメンテーション文字列(docstring)と同じスタイルで、ブロックコメントを記述することも可能です。次の例のように """ (二重引用符を 3 つ連続して記述する)で囲む形で記述します。複数行のスクリプトをまとめてコメントアウトしたいときには便利でしょう。
Python のドキュメンテーション文字列(docstring)と同じスタイルで、ブロックコメントを記述することも可能です。次の例のように """ (二重引用符を 3 つ連続して記述する)で囲む形で記述します。複数行のスクリプトをまとめてコメントアウト(一時的に無効化)したいときには便利でしょう。
#code{{
Version()
"""
# Pythonのdocstring(ドキュメンテーション文字列)と同じ
# スタイルでブロックコメントも実現可能
Greyscale()
Invert()
FlipVertical()
"""
# ただし、最後がクリップじゃないとエラーが出る
# この場合、docstring の後にクリップがないので、
# return 文で戻り値を明示する必要あり
return last
}}
ただしこの方法では、戻り値としてクリップを明示しなければならない場合があります。上の例でもし return 文を省略すると、スクリプトの最後が """ で囲まれた文字列となります(これに対し、# によるコメントは完全に無視されます)。AviSynth では戻り値はクリップでなければならないため、エラーが発生します。
* __END__ [#i830439f]
__END__ と記述すると、それ以降の行すべてがスクリプトして解釈されなくなります。これは、Ruby において __END__ 以降がスクリプトではなくデータとして扱われるのと似ています((ただし Ruby の場合は、DATAとセット使うことによって、データとして利用されます。))。
#code{{
Version()
__END__
# Ruby のように __END__ 以降はスクリプトとして解釈されなくなる。
# ただし Ruvy の場合は、DATA とセットで使い、データとして利用される
Greyscale()
Invert()
FlipVertical()
return last
}}
* 参考 [#sc9b95b8]
-[[Facility to skip portions of script - Doom9's Forum:http://forum.doom9.org/showthread.php?t=94768]]
--__END__ を使ったコメントについては、[[上記のスレッドにおける Fizick 氏の投稿:http://forum.doom9.org/showthread.php?p=1012417#post1012417]]を参考にしました。