=encoding utf8 =for stopwords YAMASHINA Hio ACKNOWLEDGEMENTS AnnoCPAN CPAN RT OO-style ccall =head1 名前 Contextual::Call - 呼び出し元のコンテキストで関数呼び出し =head1 バージョン Version 0.01 =head1 概要 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; =head1 説明 L 関数は特定のコンテキスト(デフォルトでは呼び出した関数の コンテキスト)での関数呼び出しと, その呼び出し結果から復帰値の 再生成を行うことができます. コンテキストによって復帰値が変わるメソッドをオーバーロード する時に便利です. =head1 エクスポート C 関数をエクスポートできます. =head1 関数 =head2 ccall $cc = ccall($coderef); 指定した関数リファレンスを ccall を呼び出した関数と同じ コンテキストで呼び出します. 呼び出した結果を格納した Contextual::Call インスタンスを返します. 結果は後でインスタンスからコンテキストにあった形で 取り出すことができます. この関数は L コンストラクタのお手軽形です. =head1 コンストラクタ =head2 new $obj = Contextual::Call->new({ context => wantarray, sub => $coderef }); 指定した関数リファレンスを ccall を呼び出した関数と同じ コンテキストで呼び出します. 呼び出した結果を格納した Contextual::Call インスタンスを返します. このメソッドは L 関数のオブジェクト指向形式です. =head1 メソッド =head2 result return $obj->result(); ccall/new を呼び出した時と同じコンテキストで呼び出し結果を返します. =head1 著者 YAMASHINA Hio, C<< >> =head1 バグ バグや要望は C 宛に 報告してください. 若しくは L. にある web インターフェースからでもかまいません. そこから私に通知され, そして私が変更を行うことで報告頂いたバグの進捗を 自動的にあなたに伝えるでしょう. =head1 サポート このモジュールのドキュメントは perldoc コマンドで見ることが出来ます. perldoc Contextual::Call また, 以下の場所でも見ることが出来ます: =over 4 =item * AnnoCPAN: Annotated CPAN documentation L =item * CPAN Ratings L =item * RT: CPAN's request tracker L =item * Search CPAN L =back =head1 謝辞 =head1 著作権及びライセンス Copyright 2007 YAMASHINA Hio, all rights reserved. このプログラムはフリーソフトウェアです。あなたは Perl と同じ ライセンスの 元で再配布及び変更を行うことが出来ます.