lexical-scope相关内容

重新约束的规则是什么?

[注意:我是根据Rakudo的旧版本提出这个问题的。正如the accepted answer中所解释的,令人困惑的输出是have now been resolvedRakudo错误的结果。我已将以下问题的原始版本留作历史参考。] Raku有时禁止重新绑定;以下两行 sub f($a) { $a := 42 } my var = 'foo'; var := 'not-foo'; 生 ..
发布时间:2022-04-17 20:00:08 其他开发

词法范围与动态范围

所以我遇到了这个问题,我必须使用两种不同的范围规则来计算输出.我知道使用词法范围的输出是 a=3 和 b=1,但我很难使用动态范围计算输出. 注意:下面的代码示例使用了 C 语法,但让我们将其视为伪代码. int a,b;int p() {国际a, p;一 = 0;b = 1;p = 2;返回 p;}无效打印(){printf("%d\n%d\n",a,b);}无效q(){国际b;一 = 3; ..
发布时间:2022-01-04 11:57:24 其他开发

动态范围的优点是什么?

我了解到静态范围是唯一合理的方法做事,而且动态范围是魔鬼的工具,并且只能从解释器/编译器的糟糕实现. 然后我从 Common Lisp vs. Scheme 文章中看到了这个片段: 根据标准,仅限词法和动态词法范围.作用域特殊变量.提供了通用的动态范围变量在这一点上,Lisp 胜出.通过一些实现作为扩展但使用它们的代码不可移植.(我听说过关于动态范围是否首先是或不是坏主意.我不在乎.我只是 ..
发布时间:2022-01-04 11:52:59 其他开发

我们在哪里可以在 Go 中使用可变范围和阴影?

我发现的一些相关帖子: 转到变量范围和阴影 Golang:if 语句中的变量作用域 限制变量存储错误的范围 变量范围和阴影还有很多用例. 任何代码示例或答案将不胜感激. 解决方案 变量范围和阴影: Go 的词法范围使用块: 预先声明的标识符的范围是 Universe 块. 表示常量、类型、变量或在顶层(在任何函数之外)声明的函数(但不是方法)是包块. 导入 ..
发布时间:2022-01-04 11:38:30 其他开发

使用 let-bound 变量渗透“set-process-sentinel"层次结构

我从来没有想出一种方法来穿透 set-process-sentinel 层次结构,其中 let 绑定的变量在函数开始时定义 -- 只有缓冲区局部或全局变量可以穿透它.let-bound 变量可以到达第一个 start-process,但这是它们可以穿透而不会因无法识别而被拒绝的范围 -- let-bound 变量在开始时定义函数似乎无法穿透以(lambda (pe) . .开头的部分.有没有人能想 ..
发布时间:2022-01-02 19:54:54 其他开发

定义“let 表达式"在序言中

在许多函数式编程语言中,可以“重新定义"使用 let 表达式的局部变量: 让例子=让 a = 1让 a = a+1 在一个 + 1 为此我找不到内置的 Prolog 谓词,因此我尝试以这种方式定义 let 表达式: :- 初始化(main).:- set_prolog_flag(double_quotes, chars).替换(Subterm0,Subterm,Term0,Term):-( ..
发布时间:2021-06-22 18:52:45 其他开发

R-使用非标准评估来检查字符串是否为有效的数学表达式

我想检查下面的字符串是否是有效的数学表达式: s1 ='sin(x)'s2 ='sin(x * m)'s3 ='sin's4 ='sin(xm)' “有效"是指表达式是 的组合 运算符(必须与变量或常量结合使用) 变量 x 和/或 m 常量. 根据此定义, s1 和 s2 有效,而 s3 和 s4 无效. 要确定字符串是否有效,我编写了一个函数 checkFxn ,该函 ..
发布时间:2021-05-04 21:03:51 其他开发

R中的形式论证评估和词汇范围

我一直在阅读Hadley Wickham的Advanced R,以便更好地了解R的机制以及它在幕后的工作方式.到目前为止,我很喜欢,而且一切都非常清楚,我尚未解决一个问题,这是我脑海中浮现的一个问题.我非常熟悉R的作用域规则,该规则确定如何将值分配给FREE VARIABLES,但是我一直在思考为什么R不能通过词法作用域来找到形式参数的值?考虑以下示例: y ..
发布时间:2021-04-09 19:18:28 其他开发

在Perl中,执行"$ a"和"$ b"在sort()函数之外有什么特殊用途?

前几天我问了有关在Perl的sort()函数中使用"$ a"和"$ b"的问题: "$ a"到底是什么?和"$ b"在Perl的"sort()"中功能? 我现在有一个后续问题.是sort()仅使用"$ a"和"$ b",还是有其他Perl函数利用这些特殊的全局变量? 或者即使没有其他函数使用它们,在sort()之外是否还有其他情况需要使用"$ a"或"$ b"? 编辑: ..
发布时间:2020-06-29 19:54:27 其他开发

我的$ _吗?如果隐含$ _,则执行任何操作

我认为答案是肯定的,但我只是想确定一下.所以如果我有 sub something { my $_; my @array = ...; while ( @array ) { say; } } my $_;在使传递给话语的参数词汇化方面实际上有效吗? 在这种情况下,我使用的是 DZP :: UnusedVarsTests ,它抱怨我没有使 ..
发布时间:2020-06-29 19:54:22 其他开发