8
如果我檢查sqrt
功能的環境中,我得到NULL
:什麼是NULL環境?
> environment(sqrt)
NULL
在另一方面,該功能split
這也是在基礎包中發現有環境:
> environment(split)
<environment: namespace:base>
爲什麼這兩個函數有不同的環境,NULL環境是什麼意思?
如果我檢查sqrt
功能的環境中,我得到NULL
:什麼是NULL環境?
> environment(sqrt)
NULL
在另一方面,該功能split
這也是在基礎包中發現有環境:
> environment(split)
<environment: namespace:base>
爲什麼這兩個函數有不同的環境,NULL環境是什麼意思?
sqrt
是一個原始函數,沒有R代碼。每Hadley Wickham's advanced R頁:
基本功能
有一個例外,其功能有三個組成部分的規則。原始函數,如
sum()
,直接調用 C代碼與.Primitive(
)並且不包含R代碼。因此 其formals()
,body()
和environment()
都是NULL
。