Go to the first, previous, next, last section, table of contents.


最後の楽園

$OVERLOAD{"nomethod"} は、4つのパラメータを持つ関数へのリファレン スです。これが定義されていれば、多重定義の仕組みで、何らかの演算子に対す るメソッドを見つけることができなかったときに、呼び出されます。この関数の 最初の3つの引数は、本来、呼ばれるはずだったメソッドに対する引数と一致し、 4番目の引数は、見つからなかったメソッドに対応する %OVERLOAD の key となります。いくつかのメソッドが試されている場合には、最後のものが使 われます。たとえば、 1-$a であれば、

&{ $Pack::OVERLOAD{"nomethod"} }($a,1,1,"-").

とするのと同じかもしれません。

何らかの演算子が見つからず、$OVERLOAD{"nomethod"} もない場合には、 ( $OVERLOAD{"fallback"} が真でない限り、) die() による例外 が発生します。


Go to the first, previous, next, last section, table of contents.

検索式: