このパッケージ(darksky
、ここにある:https://github.com/hrbrmstr/darksky)の仕組みを理解しようとしています。パッケージ内の関数は同じサブ関数を共有しますか?
それはRフォルダ内のこれら2つのスクリプトが含まれています
aaa.R
、およびget-current-forecast.R
(aaa.R
)旧convert_time
と呼ばれるサブ関数が含まれています。これは後者(get-current-forecast.R
)によって呼び出されているようですが、はインポートされません/ get-current-forecast.R
によってrefferredです。
これはどのように機能しますか?すべてのサブ関数を同じパッケージ内の他の関数で使用できますか?
パッケージは、インタラクティブセッションでRファイルを入手するのと同じ働きをしません。パッケージ内のすべての.Rファイルに定義されているすべての関数はパッケージの名前空間に登録され、 'library(foo)'を実行すると添付されます。したがって、パッケージ内のある関数が他の関数を呼び出すと、Rはその名前の関数のためにそのパッケージの名前空間を探します。 – joran
ありがとう、私はそれを知らなかった。したがって、基本的にすべてのサブ関数は、パッケージがロードされるたびに使用可能です。おそらく関数内でサブ関数を定義するときには少し注意するべきでしょう。 – Gautam
別の関数内で定義された関数は異なります。 Rはパッケージネームスペース内のものを見たり登録したりしません。これらの関数は、囲み関数内でのみ使用できます。 – joran