问题标签 [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.
types - Ocaml中“type ...and”和“let ...and”之间的范围不一致
我想知道为什么在 OCaml 中,let ... and
没有与type ... and
.
以下是可以的,与以下内容t2
在同一范围内t1
:
以下是错误的,v2
不在范围内:
甚至let rec
不起作用:
type... and
为什么和之间的范围界定不一致 let...and
?
f# - 是否可以同时声明可变和不可变的值/绑定?
例如我想声明
常量绑定 len 和可变 i,有可能吗?
补充: 然后我将使用参考
ocaml - “let () =”在 Ocaml 中是什么意思?
有类似的代码
在一些 OCaml 代码中。
这是什么意思?“()”有特殊含义吗?还是和这个意思一样
lisp - Lisp 的 let* 的 Ocaml 等价物?
在可能的情况下,我宁愿使用而let ... and ... and ... in
不是嵌套let
的 's,但正常的 let 语法不允许这种用于相互依赖的表达式。
不允许:
OCaml 是否具有与 Lisp's 等效的功能let*
,它确实允许这样做?
haskell - Haskell let-expression 中出现奇怪的类型错误——问题是什么?
今天我在 Haskell 中遇到了一件令人沮丧的事情。
这是发生的事情:
- 我在 ghci 中写了一个函数并给它一个类型签名
- ghci 抱怨类型
- 我删除了类型签名
- ghci 接受了这个功能
- 我检查了推断的类型
- 推断的类型与我尝试给出的类型完全相同
- 我很苦恼
- 我发现我可以在任何 let-expression 中重现该问题
- 咬牙切齿; 决定咨询 SO 的专家
尝试使用类型签名定义函数:
定义了没有类型签名的函数,检查了推断的类型:
很好地使用了这个功能——它工作正常:
我对发生了什么的最佳猜测:
当有一个 do-block 时,类型注释不知何故不适用于 let-expressions。
对于奖励积分:
标准 Haskell 发行版中是否有这样做的功能?我很惊讶它filterM
做了一些非常不同的事情。
recursion - 在递归函数内部定义函数与在 F# 外部定义函数的性能副作用是什么
如果您有一个依赖于其他函数的递归函数,那么实现它的首选方法是什么?
1) 递归函数外
2) 递归函数内部
3)将两者都封装在第三个函数中
4)更好的东西?
scheme - 混淆 Let 和 Let* 的方案
使用上面的代码,为什么答案是 35,而不是 70?在第二个let
中,x 是 7,所以 z 应该是 7 + 3 = 10,然后结果应该是 7 * 10 = 70。我知道有另一个是 let* 我在这 2 之间很困惑。样本是从谷歌抓取的. 我已经谷歌了,但就是无法得到它。
scheme - Scheme let 语法错误
我有上面的错误,我不知道哪个部分出错了
clojure - Clojure:让作用域和函数返回值
我在弄清楚如何使用“让”表单时遇到了一些麻烦。在下面的示例中,我想在本地绑定值“cols”,以便稍后在函数中对其进行处理。然而,我注意到的是,如果我使用“let”,函数 sel-opt-tmp 将返回一个 nil 值而不是一个列表。
*以上代码返回一个 nil 值。
我知道“let”只绑定函数范围内的值,我不知道是否有办法将值传递到 let 范围之外。也许有我不知道的“返回”之类的东西?或者这只是糟糕的设计,在这种情况下我根本不应该使用绑定(这往往会创建难以阅读的长链函数)?
clojure - 为什么不破坏 def 形式?
在一种let
形式(Clojure here)中,我可以做类似的事情
wheresvd
返回一个长度为 3 的列表。这是一件很自然的事情,所以为什么我们没有
及其作为def
表单默认行为的各种概括?我看不出这会如何干扰def
已经在做的任何事情。了解 Lisp 或 Clojure 的 Zen 的人能否解释一下为什么def
不支持强大的绑定(带解构)let
?