これは、かつて「AviSynthのぺーじ」として公開されていたものの "残骸" です。ここに記されている内容には、間違いが含まれている可能性があります。より正確で新しい情報を知りたい場合は、AviSynth 付属のドキュメントや 
AviSynth 公式サイトを参考にすることをおすすめします。私(にーやん)が管理人をつとめる 
AviSynth Wiki も利用してください。また、このページは、予告なしに削除される可能性もあります。
 
	
	| 
Eval
	 | 
	
 ところで、関数の最後にあるreturn文を見てください。
 Evalというコマンドが使われています。
 Evalはstring型の引数を取り、しばしば、次のような形で使われます(マニュアルからの引用)。
		
		
		
		
			
			
			
				
				
				
settings = "352, 288" 
Eval( "BicubicResize(" + settings + ")" ) 
				 | 
				 
				 
			 | 
			 
			 
		 | 
		
		
 
 上の例では、文字列( "BicubicResize(" と "352, 288" と ")" )の結合に使われています。これは、次のようにEvalや変数や演算子を使わずに記述した場合と同じになります。
 また、下のように文字列の結合を行わずに、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日
 
 
  |