我不知道,如果這是提出主觀問題的正確位置,而且我對R相當陌生,但是我現在非常困惑。我正在通過R語言參考和通過運行typeof(is.na)
和typeof(mean)
發現兩個對象,它們分別在R提示符上返回「內建」和「關閉」。我不知道這是什麼意思,我搜索後去了這個網站,http://www.r-bloggers.com/closures-in-r-a-useful-abstraction/,但無法理解,任何人都可以幫助我通過一些外行人的理解來理解「關閉」和「內建」嗎?R中的內置物和閉合物
2
A
回答
4
從help("closure")
:
這種類型的功能是不R中的唯一類型:它們被稱爲 閉包(將名稱與在LISP起點)到從 原始函數區分它們。
從help("Primitive")
:
一個「原始」(內部實現)的功能。
「內部實現」對於「內建」來說只是一個不同的術語。
兩者(封閉和基本類型)是R.原語功能的功能在C被實施,在R.
1
功能clousures,或簡單功能的閉合,由三個基本部分組成:甲醛,主體和環境。
的環境,或更好的封閉環境中,一個功能是關閉在其中創建函數和函數千萬記住它的環境...
> typeof(mean)
[1] "closure"
> environment(mean)
<environment: namespace:base>
> environment(function(x){x+1})
<environment: R_GlobalEnv>
基元,如相反,不具有環境:
> typeof(sum)
[1] "builtin"
> environment(sum)
NULL
在實踐中,閉包和基元在參數傳遞給內部函數的方式上有所不同。
如果我們想檢查功能是關閉或原始的,我們可以使用:
> is.primitive(sum)
[1] TRUE
> is.primitive(mean)
[1] FALSE
+0
感謝您的見解 – PKumar
相關問題
- 1. C++內聯閉合類似物
- 2. iOS中物業和綜合
- 3. 打開和關閉物理
- 4. 聚合物 - 聚合物元素內顯示元素
- 5. 提取物中的R
- 6. R中的物理常數
- 7. 在IE11中選擇聚合物內容
- 8. 物品或封閉物 - 何時使用?
- 9. 訪問聚合物中的offsetHeight和offsetWidth
- 10. React.Js和聚合物CSS
- 11. 聚合物和WebComponentsReady事件
- 12. 聚合物和Web動畫
- 13. 聚合物和鮑爾
- 14. 聚合物和HTTP請求
- 15. 聚合物2.0異步和
- 16. 聚合物和jQuery選擇
- 17. Chartjs和聚合物1.7.0
- 18. 使用聚合物和requirejs
- 19. Angular 2聚合物和PaperChechboxSelectedDirective
- 20. 在聚合物中使用聚合物的`.job`.dart
- 21. ASP.net中的聚合物5
- 22. 如何更新聚合物組件中的內容和類?
- 23. 聚合物
- 24. 混合物Modelica
- 25. 在「聚合物
- 26. AJAX - 購物車Magento總計和購物車中的物品
- 27. 飛鏢,聚合物建造失敗,無法找到聚合物/聚合物。
- 28. 聚合物2.0:聚合物1.0雜化元素不適用於聚合物2.0?
- 29. Silverlight的複合物結合
- 30. 聚合物元素的設置腳本
這是否意味着 - 一個封閉的,使用R語法編寫的R中,而內置的是用C編程語言? – PKumar
這是我的理解。但是,閉包也可以調用C代碼。例如,如果你看一下'mean.default'的代碼,你會發現最後調用'.Internal(mean(x))'。 – Roland
感謝您的洞察力 – PKumar