scoping相关内容

通过::调用包中的函数是否是一种好习惯?

我正在编写一些R函数,这些函数在stringr和base64enc之类的其他程序包中采用了一些有用的功能.最好不要先调用library(...)或require(...来加载这些软件包,而是使用::直接引用我需要的功能,例如stringr::str_match(...)吗? 在一般情况下,这是一种好习惯吗?还是会引发什么问题? 解决方案 这一切都取决于上下文. 如果存在 names ..
发布时间:2020-05-16 19:52:51 其他开发

NameError表示未定义变量,仅在某些地方

我正在尝试实现一个保持活动状态,该功能每30秒发送一些数据以保持telnet连接的打开. 我的代码每秒调用一次reinitScore.该函数有时会调用calculateWinner,后者会通过telnet通过stelnet.send(data)发送数据. 问题是,当我在任何函数内调用stelnet.send(data)时,都会引发NameError: global name 'stel ..
发布时间:2020-05-16 19:50:00 Python

R:源个人脚本隐藏了某些功能

按照此 我想在给定的环境中(例如在sys.source中)获取脚本,但是仅“导出"某些功能而将其他功能保持“私有"状态. 我创建了此功能: source2=function(script){ ps=paste0(script, "_") assign(ps, new.env(parent=baseenv())) assign(script, new.en ..
发布时间:2020-05-10 21:09:39 其他开发

dict理解中的Python作用域

>>> x = 'foo' >>> {0: locals().get('x')} {0: 'foo'} >>> {0: locals().get('x' + spam) for spam in ['']} {0: None} 这种行为差异的原因是什么? 解决方案 Dict理解和生成器理解会创建自己的局部范围.列表推导在Python 2.x中不是,但在Python 3中却是.(请注意,您 ..
发布时间:2020-05-03 05:27:25 Python

范围函数适用于/带有/运行/同时/允许:名称从何而来?

有很多博客文章(例如 this ),了解标准库函数apply/with/run/also/let的用法,这使得区分何时实际使用哪些漂亮库变得更加容易功能. 几周以来,官方文档甚至终于提供了有关该主题的指南:尽管如此,我认为用函数名称记住该函数的个别用例非常困难.我的意思是,对我来说它们似乎是可互换的,为什么let例如不被称为run? 有什么建议吗?我认为名称不是很富于表现力,因此一开始 ..
发布时间:2020-04-26 12:12:35 其他开发

Julia 1.0 UndefVarError-变量范围

我正在从Julia 0.7移到1.0.似乎Julia的变量范围规则从0.7更改为1.0.例如,我想运行一个简单的循环,如下所示: num = 0 for i = 1:5 if i == 3 num = num + 1 end end print(num) 在Julia 0.7(以及大多数其他语言)中,我们可以期望循环后为num = 1.但是,它将在Jul ..
发布时间:2020-04-25 04:30:04 其他开发

对象文字方法的范围

我目前正在做一些关于JS中的范围和提升的实验。我有两个例子让我以不同的方式让我感到困惑。首先,我已经为一个名为parent的变量分配了一个匿名函数。显然,返回的子函数可以访问它外部函数范围,因此它可以访问文本变量。它很简单。这是代码.. var parent = function (){ var text ='我可以访问容器'; return function(){ alert(t ..
发布时间:2019-06-08 20:05:17 前端开发

Javascript奇怪的范围行为

我一直在浏览Javascript函数范围并遇到过这样的问题: var scope =“global”; 函数f(){ console.log(范围); var scope =“local”; console.log(范围); } f(); 现在我明白第一个日志的输出是“未定义的”,因为js如何将变量提升到功能的顶部。但是当我从“var s ..
发布时间:2019-05-27 14:28:17 前端开发

浏览器内的javascript需要节点式吗?

是否存在任何用于浏览器内javascript的库,它们提供与Node的 require 相同的灵活性/模块性/易用性? 提供更多详细信息: require 的原因非常好: 允许代码从其他位置动态加载(在我看来,这比在HTML中链接所有代码更好) 它提供了一致的界面构建模块 模块很容易依赖于其他模块(所以我可以编写一个需要jQuery的API,所以我可以使用 jQuery.ajax ..
发布时间:2019-01-24 00:13:20 前端开发

什么是词汇范围?

有人可以给我一个关于词法范围的简要介绍吗? 解决方案 我通过例子理解它们。 :) 首先,词汇范围(也称为静态范围),采用类C语法: void fun() { int x = 5; void fun2() { printf(“%d”,x); } } 每个内层都可以访问其外层。 还有另一种方法,叫做动态范围,首先实现Lisp, 再次 ..
发布时间:2019-01-21 14:05:01 前端开发

Javascript函数范围和提升

我刚读了一篇关于 Ben Cherry的JavaScript范围和吊装的精彩文章他给出了以下示例: var a = 1; 函数b(){ a = 10; 返回; 函数a(){} } b(); alert(a); 使用上面的代码,浏览器会提示“1”。 我仍然不确定为什么它会返回“1”。他说的一些事情就像: 所有函数声明都被提升到顶部。您可 ..
发布时间:2019-01-21 13:50:22 前端开发

Java范围规则和内部类

所有疯狂的Java范围规则都让我头晕目眩, public static void 废话无济于事。到目前为止,我使用的所有编程语言都是词法作用域或者没有任何访问修饰符的一些近似,即内部东西捕获外部东西并且只要内部存在就可以访问外部东西。 那么如何理解Java中内部类的作用域规则?他们是否可以访问在外部类中声明的变量,或者是否有一些奇怪的边缘情况我不得不担心因为所有公共静态私有的东西浮动? ..
发布时间:2018-12-11 22:26:22 Java开发

函数内使用sfApply时的范围界定问题(包装降雪 - R)

让我在R中添加另一个范围问题,这次是用降雪包。如果我在全局环境中定义了一个函数,并且稍后我尝试在另一个函数内的sfApply()中使用该函数,那么我的第一个函数将不会再被找到: #Runnable代码。不要忘记用sfStop() require(snowfall) sfInit(parallel = TRUE,cpus = 3) func1 y ..
发布时间:2018-04-17 10:26:54 其他开发

R 2.11.1中的范围界定和功能:出了什么问题?

这个问题来自一系列其他问题,都涉及基本相同的问题。出于某种奇怪的原因,在另一个函数中使用函数有时会失败,因为在第一个函数的本地环境中定义的变量在第二个函数中找不到。 伪代码中的经典模式: ff y some_function(y) } ff(x) eval(expr,envir,enclos)错误: 找不到对象'y' 首先,我认为它与S4 ..
发布时间:2018-04-17 10:21:05 其他开发