このページでは,
R FAQ Frequently Asked Questions on R Version 1.7-27, 2003-07-16 ISBN 3-901167-51-X Kurt Hornik
(http://cran.r-project.org/doc/FAQ/R-FAQ.html ) の第 8章の日本語訳に取り組みます.
いま, クラス "foo" についての要約メソッドを与えるものと仮定しましょう. そのとき, summary.foo() は, 何かを出力すべきではなく, クラス "summary.foo" のオブジェクトを返すべきです. そして, 要約情報を上手に出力しつつ, そのオブジェクトを目に見えない形で返すメソッド print.summary.foo() を書くべきでしょう. summary.foo() が要約情報を出力し, そして何か有用なものを返すようにする方法よりも, 上記のアプローチのほうが好まれます. というのは, ときどき, 関数あるいは同等のものの内部で summary() によって計算された何かをつかみ取る必要があるからです. このような場合には, 何も出力されて欲しくありません.
おおまかに言えば, 1) デバッガーの内部で R を起動し, 2) そのコードをロードし, 3) 割込み要求を送り, 4) それから必要なブレークポイントをセットする必要があります.
「R の機能拡張を書くこと」 (Writing R Extensions) の中のセクション「動的にロードされるコードにおけるエントリー・ポイントを見つけること」 (Finding entry points in dynamically loaded code) をご参照ください. このマニュアルは, R のディストリビューションに入っています (R にはどんな文書がありますか? (What documentation exists for R?) 参照).
いちばん便利な方法は, シンボリック・デバッガーから R_PV を呼び出すことです.
「R の機能拡張を書くこと」 (Writing R Extensions) の中のセクション「デバッグ中に, R のオブジェクトを検査すること」 (Inspecting R objects when debugging) をご参照ください.
いま, R の中に動的にロード (dynload) するための C コード・ファイルを持っているけれども, (R がビルドされたときに決定される) ディフォールトのコンパイル・フラグ以外の設定で, R CMD SHLIB を使いたいと考えているものとしましょう. ユーザーの好みの設定 (preferences) を反映するように, ファイル R_HOME/etc/Makeconf を変更することができます. もしも Bourne シェルを使っているならば, Make (コンパイルをコントロールするために用いられるプログラム) に Make 変数 MAKEFLAGS を使って, 望みのフラグを渡すことができます. たとえば, つぎのように設定します:
MAKEFLAGS="CFLAGS=-O3" R CMD SHLIB *.c
{ 8章おわり }
最終更新日: 2003-08-07 (木) 00:22:26