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