问题标签 [lexical-scope]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
94 浏览

variables - 书签+中的书签设置问题(emacs 24.5)

Emacs 在书签集上提出“funcall: Symbol 的值作为变量是 void:choices”。

禁用书签+后,书签设置开始正常工作。

有谁知道如何解决这个问题?

0 投票
1 回答
34 浏览

javascript - 外部函数返回一个内部函数,可以访问外部函数的值

我需要创建一个将传递给我的数据库服务器的函数。返回的函数将单个项目作为参数并将该项目与需求列表进行比较。

为此,我需要一个函数生成函数,该函数将数组作为参数并返回内置该数组的内部函数。

这是一个例子:

一个使用这个的例子:

如何将需求列表构建到内部函数中?

0 投票
2 回答
2142 浏览

javascript - 使用 Babel.js 将 ES6 箭头函数编译为 Es5



在查看 Mozilla 文档中的 ES6 箭头函数文档时,我了解到箭头函数应用了严格模式的所有规则,除了链接中描述的规则

但是,Babel.js将箭头函数代码转换为返回undefined而不是Window演示链接)的 ES5 代码


所以,上面的代码片段是 Babel.js 的输出。不能是下面的输出吗?

如果我正在编写 ES6,我会期待Window而不是undefined
它是一个错误吗?
或者,我误解了什么?

0 投票
1 回答
67 浏览

r - 并行化每个修改函数的父环境的独立函数调用

我想找到一种方法来并行化重复的独立函数调用,其中每个调用都会修改函数的父环境。函数的每次执行都是独立的,但是,由于各种原因,我无法考虑任何其他不依赖于修改函数父环境的实现。请参见下面的简化示例。有没有办法将父环境的副本传递给每个节点?我在linux系统上运行它。

0 投票
1 回答
234 浏览

elisp - Emacs lisp:将词法范围传递给函数?

Python 3 有这个功能locals()ans函数globals()允许将当前作用域的命名值至少出于只读目的传递给函数。

在 emacs lisp 中,我想编写一个用于字符串插值的函数。它需要访问词汇变量。由于我想避免在宏更改时重新编译其他文件,因此显而易见的解决方案——使用宏——是不可行的。

是否有可能在 emacs lisp 中执行此操作?

我已经尝试过该功能lisp--local-variables,但它不适lexical-binding用于t

Elisp 文档中的一些相关引用

(在内部,词法环境是一个符号值对的列表,列表中的最后一个元素是符号 't' 而不是一个 cons 单元格。这样的 alist 可以作为第二个参数传递给 'eval' 函数, 以便指定评估表单的词法环境。*注意 Eval::。然而,大多数 Emacs Lisp 程序不应该以这种方式直接与词法环境交互;只有专门的程序,如调试器。)


目前,一个 Emacs Lisp 闭包对象由一个列表表示,符号 `closure' 作为第一个元素,一个表示词法环境的列表作为第二个元素,参数列表和主体形式作为其余元素:

然而,闭包的内部结构被“暴露”给 Lisp 世界的其他部分这一事实被认为是内部实现细节。因此,我们建议不要直接检查或更改闭包对象的结构。

0 投票
1 回答
119 浏览

perl - 从 Perl 中的子例程返回别名

是否可以从 Perl 中的子例程返回别名?

我有一个简单的例子:

这本质上是我想要的功能,但是我想找到一种方法来制作$test和别名,$value这样我就可以在不取消引用的情况下访问数据。这可能吗?


这是我想要的语法示例:

前(伪代码):

我一直在阅读有关别名的内容,并且所有内容都指向“typeglobs”……但看起来使用 typeglobs 需要使用全局变量,我真的很想避免这种情况。


此外,我想要一个不需要从 CPAN 安装任何其他模块的解决方案,因为我需要让它们得到安全部门的批准并让他们安装它......这里任何想要使用我的脚本的人也一样。

0 投票
1 回答
220 浏览

python - 是否有适用于 Python 的范围分析器?

给定一个 python 文件,我想找出文件中标识符的所有范围和声明。

例如,给定这个文件:

我希望输出为:

  • 在第 7 行,my_func指的是my_func在此文件的第 4 行中定义的
  • 在第 8 行,a指的是模块 a。function_in_a指模块 a 中定义的函数
  • 在第 9 行,xyz指的是模块 b 中定义的函数

有没有为我做这个的图书馆?基本上我试图在IDE功能/代码自动完成/理解变量范围的上下文中使用。基本上,我有兴趣了解标识符(变量、函数等)定义的位置,就像 PyCharm 之类的 IDE 如何确定它一样。

0 投票
2 回答
589 浏览

r - 将模型参数稳健地传递给 R 的 predict() 函数

我正在尝试使用 R 来拟合线性模型并进行预测。我的模型包括一些不在数据框中的常量边参数。这是我正在做的简化版本:

不幸的是,模型对象现在遇到了一个危险的范围问题:lm()不保存b为的一部分mdl,所以当predict()被调用时,它必须回到b定义的环境中。因此,如果后续代码改变 的值b,预测值也会改变:

如何强制predict()使用原始b值而不是更改后的值?或者,是否有某种方法可以控制predict()变量的查找位置,以便我可以确保它获得所需的值?实际上,我不能将b其作为newdata数据框的一部分包含在内,因为在我的应用程序中,b它是一个参数向量,其大小与新观察的数据框的大小不同。

请注意,相对于我的实际用例,我已经大大简化了这一点,所以我需要一个强大的通用解决方案,而不仅仅是临时黑客。

0 投票
0 回答
31 浏览

python - 是否可以更改父框架中的绑定?

我尝试创建闭包,其中父框架中存在名称为内部的绑定,只能使用我通过返回提供的方法访问。这是我的代码:

但是,当我实际调用set_inner() 并在 body 语句中inner = v评估在本地框架中创建的绑定时,但父框架中的绑定保持不变。

这是它的外观:

在此处输入图像描述

如您所见,在set_inner函数的当前框架中创建了新绑定,但我想当前父绑定。

我希望我足够清楚我想要做什么。

预先感谢。

编辑:

感谢 MartijnPieters,我所要做的就是放置 nonlocal声明

现在它改变了父框架中的绑定

0 投票
2 回答
371 浏览

perl - 在 Perl 中本地更改类的属性

我在我的一个 Perl 脚本中遇到了一个奇怪的问题。我有一个 Perl 对象。在某个范围内,我希望更改对象属性之一,但我希望该属性在离开范围后恢复为旧值。

例子:

有没有办法实现这样的目标?