名前



名前

Contextual::Call - 呼び出し元のコンテキストで関数呼び出し


バージョン

Version 0.01


概要

 use Contextual::Call qw(ccall);
 # invoke sub with your context.
 my $cc = ccall($coderef);
 
 ... some processes ..
 
 # and return value which was returned by $coderef and 
 # is matched with context.
 return $cc->result;


説明

ccall 関数は特定のコンテキスト(デフォルトでは呼び出した関数の コンテキスト)での関数呼び出しと, その呼び出し結果から復帰値の 再生成を行うことができます.

コンテキストによって復帰値が変わるメソッドをオーバーロード する時に便利です.


エクスポート

ccall 関数をエクスポートできます.


関数

ccall

 $cc = ccall($coderef);

指定した関数リファレンスを ccall を呼び出した関数と同じ コンテキストで呼び出します. 呼び出した結果を格納した Contextual::Call インスタンスを返します. 結果は後でインスタンスからコンテキストにあった形で 取り出すことができます.

この関数は new コンストラクタのお手軽形です.


コンストラクタ

new

 $obj = Contextual::Call->new({ context => wantarray, sub => $coderef });

指定した関数リファレンスを ccall を呼び出した関数と同じ コンテキストで呼び出します. 呼び出した結果を格納した Contextual::Call インスタンスを返します. このメソッドは ccall 関数のオブジェクト指向形式です.


メソッド

result

 return $obj->result();

ccall/new を呼び出した時と同じコンテキストで呼び出し結果を返します.


著者

YAMASHINA Hio, <hio at cpan.org>


バグ

バグや要望は bug-contextual-call at rt.cpan.org 宛に 報告してください. 若しくは http://rt.cpan.org/NoAuth/ReportBug.html. にある web インターフェースからでもかまいません. そこから私に通知され, そして私が変更を行うことで報告頂いたバグの進捗を 自動的にあなたに伝えるでしょう.


サポート

このモジュールのドキュメントは perldoc コマンドで見ることが出来ます.

    perldoc Contextual::Call

また, 以下の場所でも見ることが出来ます:


謝辞


著作権及びライセンス

Copyright 2007 YAMASHINA Hio, all rights reserved.

このプログラムはフリーソフトウェアです。あなたは Perl と同じ ライセンスの 元で再配布及び変更を行うことが出来ます.