これは、かつて「AviSynthのぺーじ」として公開されていたものの "残骸" です。ここに記されている内容には、間違いが含まれている可能性があります。より正確で新しい情報を知りたい場合は、AviSynth 付属のドキュメントや AviSynth 公式サイトを参考にすることをおすすめします。私(にーやん)が管理人をつとめる AviSynth Wiki も利用してください。また、このページは、予告なしに削除される可能性もあります。
Eval
 ところで、関数の最後にあるreturn文を見てください。
return Eval(s)
 Evalというコマンドが使われています。

 Evalstring型の引数を取り、しばしば、次のような形で使われます(マニュアルからの引用)。
settings = "352, 288"
Eval( "BicubicResize(" + settings + ")" )
 上の例では、文字列( "BicubicResize(" と "352, 288" と ")" )の結合に使われています。これは、次のようにEvalや変数や演算子を使わずに記述した場合と同じになります。
BicubicResize(352, 288)
 また、下のように文字列の結合を行わずに、Evalを使った場合も、また同じです。
Eval( "BicubicResize(352, 288)" )
 一方、EasyResize関数では、変数sは(valueNが代入されるため)string型です。このため、そのままではreturn文で返すことができません。

 たとえば、先程のQVGAをプリセットとして指定した場合、
s="LanczosResize(clip, 320, 240)"
となり、つまり、「return s」は、
return "LanczosResize(clip, 320, 240)"
と、同じになってしまうのです。

 そこで、Evalを使います。
return Eval("LanczosResize(clip, 320, 240)")
 これは、次のように記述した場合と同じになります。
return LanczosResize(clip, 320, 240)

最終更新日 2004年9月1日
前のページ | 次のページ