R语言不明确的作用域机制和force函数的作用

刚研究了log4r的使用,就想着也不是什么大包,自己也没写r项目的经验,看看源码学习一下吧。然后在appender里看file_appender的时候,看到了一个force函数。 本能的去Rstudio上查了一下文档,因为软件看文档比终端好一点。然后发现这个不简单啊。 幸好之前写过python对这种坑机制有了解,感觉上R与Python很多地方相似。 安装文档说明,R函数的参数在定义的闭包中使用的时候,比如在循环和apply函数的调用,会导致从变量作用域中获取这些参数变量,也就是所谓的惰性求值。虽然我现在看的文档中还没有涉及变量作用域的问题,感觉在R中应该和在Python中是差不多的,循环体是不具有变量作用范围的保证的。而force函数能保证这个参数被执行求值,从而保证闭包里作用域里的变量的值的变化。 ?force文档里有个例子很好的说明了这一点。

上一篇:
下一篇:

相关文章:

Categories: 博客记录

0 Responses so far.

Leave a Reply