4
A
回答
5
更換force()
與eval(as.symbol())
將這樣的伎倆:
## Modified from an example in ?force (h.t. @flodel)
g <- function(x,y) {
lapply(ls(), function(X) eval(as.symbol(X)))
function() x+y
}
lg <- vector("list", 4)
for (i in 1:2) for (j in 1:2) lg[[i+j-1]] <- g(i,j)
lg[[1]]()
# [1] 2
這樣做是因爲,根據說明?force
:
[力量]是語義糖:只要評估符號會做
相關問題
- 1. 強制ggplot評估計數器變量
- 2. Javascript如何強制字符串+變量作爲變量進行評估
- 3. 評估變量
- 4. 強制Common Lisp不要將符號評估爲變量
- 5. 評估「變量變量」
- 6. 評估變量int /字符串
- 7. 評估字符串類變量
- 8. 字符串變量和參數評估
- 9. 當使用Javascript評估兩個字符串變量時,「undefined」
- 10. Javascript變量評估
- 11. NullPointerException 65行強制關閉 - saveContact(); - 評估變量爲空[Noob Warning]
- 12. 使用評估過濾轉發器中的多個變量
- 13. 小枝評估變量內的變量?
- 14. 用指向運算符的變量進行評估
- 15. 如何使用jQuery來評估變量
- 16. 評估ColdFusion變量列表
- 17. bash變量重新評估
- 18. 評估和詞彙變量
- 19. 擴展變量不評估
- 20. 變量的惰性評估
- 21. 批處理變量評估
- 22. 批次變量評估
- 23. 如何評估變量
- 24. Boto3 - Delete_snapshot不評估變量
- 25. 評估變量賦值
- 26. 如何評估變量?
- 27. JavaScript可變增量評估?
- 28. 如何評估字符串中的變量用C
- 29. 評估包含宏引用的字符串變量
- 30. 與列表評估一個變量
能不能介紹一下你是如何希望闡述 同樣的事情使用這樣的功能? –
卡爾 - 不多=)我採取了懶人的方法,並張貼在這裏。 – SFun28
裏卡多 - 它有點複雜。我有一種情況,一些代碼並行運行(package'parallel'和'foreach'),而不是通過評估值,並行代碼傳遞一個承諾。如果承諾能夠得到解決,這將會是好的,但是新的並行流程無法訪問承諾所做的相同環境。所以我需要在並行運行我的任務之前強制進行評估,以便承諾得到解決,並且值得通過,而不是承諾。就像我說的...複雜! =) – SFun28