読者です 読者をやめる 読者になる 読者になる

他のファイルに定義された関数を「明示的に」読み込む

やりたいこと

自分で他ファイルに定義した関数を読み込む時に、きちんと読み込み元を明示する。

Rでは他のファイルに定義された関数を呼ぶときは、source(ファイル名)と記述するが、多くのファイルを読み込み始めると、どの関数がどこで定義されたのか?わかりづらくなる。

と、いうかわからなくなって、「関数名をgrepで探す」というなんともマヌケなことをしている。

そこで、「定義されたファイルを明示的に」して、関数を呼び出す。

こうすると、デバッグの時、機能を追加する時に非常に助かる。

やり方

source(スクリプトのパス)

と記述していたのを、

sys.source(スクリプトのパス, オブジェクト名)

と記載する。

こうすると、オブジェクトに、新しい「環境」として、関数群が代入される。

スクリプト内で、目的の関数にアクセスするには、オブジェクト名$目的の関数名 とすればよい。

参考