问题标签 [let]
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.
haskell - 不使用 in 时 let 的范围是什么?
在 Haskell 教程中,我遇到了以下代码:
请注意,let
表达式没有in
块。这种let
表达的范围是什么?下一行?
emacs - Elisp:在 let 中的 boundp
如何检查变量是否在 let 构造中定义?
我要做的是检查a
之前是否有界,如果已经有,请将其绑定到t
本地。否则根本不在乎a
。
forms - 我需要帮助在 let 表单和未命名的过程表单之间进行转换
我试图从 let-form 转换为未命名的过程形式,但我无法掌握它。
让程序是这样的。
到目前为止我所做的是
任何帮助将不胜感激,谢谢。
haskell - 如何在 Haskell 中嵌套 let 语句?
我正在尝试嵌套几个 let 语句,但是我遇到了对我没有意义的语法错误。我对 Haskell 编程真的很陌生,所以我确定这是我不理解的东西(可能与间距有关)。我知道 let 和 in 必须在同一列中。
为什么会这样:
工作得很好,而
给我错误:“表达式中的语法错误(意外的`=')”
functional-programming - OCaml中嵌套`let .. in ..`的评估范围/顺序
我这里有一些我不是 100% 理解的小问题:
let x = 1 in let x = x+2 in let x = x+3 in x
我知道这个表达式的结果是6,但只是想确定这个表达式的计算顺序;先计算哪一部分?
javascript - javascript 不能在各种浏览器中工作
let
在某些浏览器中不起作用。也不在他们的解释器/网络控制台中。为什么?
(最初我认为浏览器解释器和 jsFiddle 存在不一致,但事实证明并非如此,只是我的测试不好。)
variables - 为什么'let'引入的绑定在范围内受到限制?
在 Lisp 中(我还在用 SBCL 学习 Lisp),局部变量是用 声明的let
,作用域只在那个表达式内。这是为什么?与其他命令式语言(如 C/C++/Java...)不同,我们可以在其函数范围内的任何位置自由使用局部变量。
scheme - Scheme 病态特殊形式 let
我正在尝试编写一个方案程序,它是 Dijkstra 的最短算法。在我放松边缘的过程中,我得到的错误是
; 病态特殊形式:(let (...) ())
我的程序代码是,
已经非常感谢了。
performance - `let` 在 Clojure 中是如何实现的,它的开销是多少?
我可以看到两种实现let
绑定的方法。首先,从SICP 可知,let
可以实现为lambda 函数。这很方便和简单,但考虑到每个 lambda( fn
) 在 JVM 中被翻译成单独的类以及let
在普通程序中使用的次数,这似乎非常非常昂贵。
其次,let
绑定可以直接转换为本地 Java 变量。这几乎没有开销,但是将绑定存储在堆栈上会破坏语言语义:在这种情况下,创建闭包是不可能的 - 保存的值将在堆栈展开后立即被销毁。
那么 Clojure 中使用的实际实现是什么?指向 Clojure 源代码中的相应行表示赞赏。
variables - 是否可以修改 let 绑定?
我想了解如何更改在 Clojure 函数的 let 绑定中声明的变量的值。下面是我正在使用的代码。我希望该函数返回 java.lang.String 对象,该对象包含字符串中包含的文本。
注意:函数'open-file-reader'如下: