他のファイルに定義された関数を「明示的に」読み込む
やりたいこと
自分で他ファイルに定義した関数を読み込む時に、きちんと読み込み元を明示する。
Rでは他のファイルに定義された関数を呼ぶときは、source(ファイル名)
と記述するが、多くのファイルを読み込み始めると、どの関数がどこで定義されたのか?わかりづらくなる。
と、いうかわからなくなって、「関数名をgrepで探す」というなんともマヌケなことをしている。
そこで、「定義されたファイルを明示的に」して、関数を呼び出す。
こうすると、デバッグの時、機能を追加する時に非常に助かる。
やり方
source(スクリプトのパス)
と記述していたのを、
sys.source(スクリプトのパス, オブジェクト名)
と記載する。
こうすると、オブジェクトに、新しい「環境」として、関数群が代入される。
スクリプト内で、目的の関数にアクセスするには、オブジェクト名$目的の関数名
とすればよい。