Perlについての質問箱 15箱目
■ このスレッドは過去ログ倉庫に格納されています
0392デフォルトの名無しさん
05/02/06 01:05:17そこにこだわるなら。
use overload "nomethod" => nomethodMethod";
"nomethod" は、4 つのパラメータを持つ関数へのリファレンスが引き続きます。
これが定義されていれば、多重定義の仕組みで、 何らかの演算子に対するメソッドを
見つけることができなかったときに、 呼び出されます。 この関数の最初の 3 つの
引数は、本来、 呼ばれるはずだったメソッドに対する引数と一致し、4 番目の引数は、
見つからなかったメソッドに対応するシンボルとなります。 いくつかのメソッドが
試されている場合には、最後のものが使われます。 たとえば、1-$a であれば、 "nomethod" => "nomethodMethod" の組が use overload 指示子で 指定されていれば
&nomethodMethod($a,1,1,"-") と同様です。
■ このスレッドは過去ログ倉庫に格納されています