scoping相关内容

Javascript函数作用域和提升

我刚刚阅读了 Ben Cherry 撰写的一篇关于 JavaScript 范围界定和提升的精彩文章 他举了以下例子: var a = 1;函数 b() {a = 10;返回;函数 a() {}}b();警报(一); 使用上面的代码,浏览器会提示“1". 我仍然不确定它为什么返回“1".他说的一些事情浮现在脑海中,例如:所有函数声明都被提升到顶部.您可以使用函数作用域变量.仍然没有为我点击 ..
发布时间:2022-01-29 22:49:46 前端开发

Julia 1.0 UndefVarError - 变量范围

我正在从 Julia 0.7 迁移到 1.0.似乎 Julia 的变量范围规则从 0.7 更改为 1.0.例如,我想像这样运行一个简单的循环: num = 0对于 i = 1:5如果我 == 3数 = 数 + 1结尾结尾打印(数量) 在 Julia 0.7(以及大多数其他语言)中,我们可以期望在循环之后出现 num = 1.但是,它会在 Julia 1.0 中引发 UndefVarError: ..
发布时间:2022-01-23 19:15:27 其他开发

从函数内部将函数环境设置为调用环境(parent.frame)的环境

我仍在为 R 范围界定和环境而苦苦挣扎.我希望能够构建从我的“主"函数中调用的简单辅助函数,这些函数可以直接引用这些主函数中的所有变量——但我不想在我的每个主函数中定义辅助函数职能. helpFunction 解决方案 嗯,一个函数不能改变它的默认环境,但是你可以使用 eval 在不同的环境中运行代码.我不确定这是否完全符合优雅的条件,但这应该可以: helpFunction ..
发布时间:2022-01-15 23:45:49 其他开发

如何通过调用名称空间中没有它的函数来找到未附加包中的非导入方法?

R 命名空间充当其关联包中所有函数的直接环境.换句话说,当 foo 包中的函数 bar() 调用另一个函数时,R evaluator 首先在 中搜索另一个函数;,然后在 "imports.foo", , ,依此类推,通过键入 search() 返回的搜索列表. 命名空间的一个很好的方面是它们可以使包表现得像更好的公民: ..
发布时间:2022-01-14 23:01:27 其他开发

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

我正在编写一些 R 函数,这些函数在 stringr 和 base64enc 等其他包中使用了一些有用的函数.不调用 library(...) 或 require(...) 先加载这些包,而是使用 ::直接引用我需要的函数,比如 stringr::str_match(...)? 在一般情况下这是一个好习惯吗?或者会引发什么问题? 解决方案 这一切都取决于上下文. :: 主要是在 ..
发布时间:2022-01-14 23:00:20 其他开发

动态范围 - 深绑定与浅绑定

我一直试图弄清楚浅绑定和深绑定,维基百科没有很好地解释它.假设我有以下代码,如果语言使用动态范围 ,输出会是什么 a) 深度绑定 b) 浅绑定? x: 整数 := 1y:整数:= 2程序添加x := x + y程序二(P:程序)x:整数:= 2P()先办理手续y:整数:= 3第二(添加)----主要从这里开始---第一的()写整数(x) 解决方案 深度绑定在过程作为参数传递时绑定环 ..
发布时间:2022-01-04 15:40:08 其他开发

R 中的双冒号 (::) 是什么?

我正在学习 Rbloggers 中的教程,发现双冒号的使用,我在网上查看,但找不到对它们使用的解释.这是它们的使用示例. df 我知道它创建了一个数据框,但我不明白它们的目的. 解决方案 正如您现在可能已经查找过帮助页面那样,使用 :: 有助于访问特定包中的确切功能.当您加载 dplyr 时,您可能会收到如下消息.. 以下对象被‘package:base’屏蔽:相交,setdiff ..
发布时间:2022-01-04 11:30:19 其他开发

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

我正在编写一些 R 函数,这些函数在其他包中使用了一些有用的函数,例如 stringr 和 base64enc.最好不要先调用 library(...) 或 require(...) 来加载这些包,而是使用 ::直接引用我需要的函数,比如 stringr::str_match(...)? 在一般情况下这是一个好习惯吗?或者会导致什么问题? 解决方案 这完全取决于上下文. :: ..
发布时间:2022-01-04 11:28:54 其他开发

Javascript 函数作用域和提升

我刚刚阅读了 Ben Cherry 撰写的关于 JavaScript 范围和提升的精彩文章 其中他给出了以下示例: var a = 1;函数 b() {一 = 10;返回;函数 a() {}}b();警报(一); 使用上面的代码,浏览器会提示“1". 我仍然不确定为什么它返回“1".他说的一些事情浮现在脑海中,例如:所有的函数声明都被提升到顶部.您可以使用函数作用域变量.仍然没有为我点击 ..
发布时间:2021-11-30 22:17:10 前端开发

Julia 范围:为什么这个函数会修改一个全局变量?

我是 Julia 的新人,到目前为止我是它的粉丝.但是从多年的 R 编程经验来看,一些范围规则让我感到困惑. 让我们来看看这个函数.这完全符合我的预期. 函数 foo1(x)y = xt = 1当 t 但是当对数组做类似的事情时,它充当一个变异函数(在全局范围内修改它的参数!) 函数 foo2(x)y = xt = 1当 t 我意识到我可以通过将第一行更改为 y = copy(x ..
发布时间:2021-11-17 05:49:00 其他开发

IResourceScopeCache 用于避免昂贵的范围计算

我遇到了同样的问题,描述了是这个链接吗 我想在我实现的 getScope 函数中使用 IResourceScopeCache,但我不知道该怎么做.没有找到任何对我有帮助的东西.我有这个文件:MyDslScopeProvider.xtend,我在那里覆盖了 getScope().我如何使用那里的缓存? override def IScope getScope(EObject context, E ..
发布时间:2021-10-04 18:50:21 其他开发

Xtext 交叉引用和作用域

我在 xtext 交叉引用方面遇到了一些问题这是一个非常简单的语法: grammar org.xtext.example.mydsl1.Test with org.eclipse.xtext.common.Terminals生成测试“http://www.xtext.org/example/mydsl1/Test"型号:块=块?cs+=公司*;块:'{' g=[Employee] '}';公司: ..
发布时间:2021-10-04 18:49:34 其他开发

在 rails3 中使用范围进行 Eagerloading

我一直在尝试基于 Rails3 应用程序中的某个范围急切加载关联,但找不到任何解决方案. 我的应用有以下模型: class 项目has_many :条目has_many :to_dos待办事项类has_may : 条目has_many :任务归属地:项目班级任务has_many :条目归属地:to_do班级入口归属地:项目归属地:to_do归属地:任务# 选项格式:{:from_date= ..
发布时间:2021-07-13 18:54:53 其他开发

Perl 中的 my 和 local 有什么区别?

我在尝试调试的脚本中看到它们都使用了,但文献不清楚.有人可以为我揭开这个神秘面纱吗? 解决方案 动态范围.这是一个简洁的概念.很多人不使用它,或者理解它. 基本上将 my 视为创建一个变量并将其锚定到一个 {} 块,也就是 A.K.A.范围. my $foo if (true);# $foo 在 if 语句中生死存亡. 所以 my 变量是你所习惯的.而动态范围 $var 可以在任 ..
发布时间:2021-06-15 20:02:24 其他开发

C++ 与 Python 中的传递引用差异

我有一点 C++ 背景.我目前正在学习 Python 并试图了解函数参数是如何传递的.我知道这个问题在这里被问过很多次,但由于我不是计算机科学专业的,很多讨论线程对我来说都相当深奥,另外,我还没有看到不同语言之间关于这个主题的很多比较,所以我想我会尝试一个新的帖子. 情况是这样的:我的理解是Python只是通过引用传递(即传递变量名的值,我相信是位置地址.)在这种印象下,我回到了我的旧C++ ..
发布时间:2021-06-14 19:50:51 C/C++开发

Swift 范围界定问题

我有一个应用程序,它从 parse.com 数据库中提取信息并将其传递到一个数组中.当我从 while 循环内部 println() 这个数组时,它打印得很好.当我尝试在 while 循环之外打印它时,它返回空.这是我的代码: var player = [String]()var total = [String]()var addTotal:AnyObject!var addTotalFinal ..
发布时间:2021-06-14 19:28:55 移动开发