问题标签 [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.

0 投票
1 回答
381 浏览

bash - BASH let 命令..在填充数字上给出错误结果

以下代码按预期打印 4:

但以下打印 16:

有人可以解释其中的区别吗?

0 投票
2 回答
82 浏览

functional-programming - let 定义系列

我是 OCaml 的初学者,我对一系列 let 有疑问,例如:

但是,在让之间,我使用 Hashtbl.iter 和其他返回单位的函数。如果我做:

编译器引发错误。但是,如果我这样做:

编译器不会引发任何错误,只是警告显示从未使用过“h”。没有任何问题的最佳方法是什么?谢谢。

0 投票
1 回答
118 浏览

clojure - Let形式的从左到右的装订顺序

我正在研究 Clojure中的一个解构示例,并且遇到了一个令我惊讶的示例。这两个产生相同的输出:

现在最初第一种形式与我的直觉相反,因为认为绑定和优先级从左到右发生,在分配给“all”之前不会定义 range-vec。我的第二种形式,range-vec已经定义好了,然后在第二个let语句中赋值给all,这似乎是遵循我目前所知道的规则。我什么时候知道符号何时被绑定以及发生的顺序?

0 投票
3 回答
71 浏览

recursion - 方案:反向没有任何影响

输出与此相同的内容:

为什么我的单词没有反转然后计算?

输入:(键'(xyz))

输出:2475(两种方法)

我不明白为什么会这样。有人请帮我看看为什么会这样。

0 投票
1 回答
14166 浏览

scheme - 方案:何时使用 let、let* 和 letrec?

let、let* 和 letrec 有什么区别?

请给出详尽的解释和例子。

0 投票
3 回答
684 浏览

list - Haskell - 列表理解 - 获取输入元素

如果输入是列表,我对列表理解有一些问题。

在所有这些III练习中,不允许使用map:filterconcat!!!


第一部分

要求:

一个函数f1获取一个xs三元组列表,(a, b, cs)其中 类型ab类型Int c是类型[Int]

该函数应该生成一个对的列表(a · b, b + c),因为 cs 中的所有 c 并且在生成的列表中应该只出现第一个元素大于第二个元素的那些对 - (a · b) > b + c

例子:

应返回以下列表:

我的尝试:

它工作正常,但不适用于列表作为输入。

所以我尝试了几种方法,但不幸的是不是正确的:-(

第一种方法:

第二种方法:

第三种方法:

三个都不行!

dave4420 的解决方案:


第二部分

要求:

函数 g1 获取相同类型对的列表,并从中生成一个普通列表。

例子:

我的尝试:

我得到一个编译错误,因为列表理解输出中的 a,b 没有正确的语法。

但是我可以返回 a 或 b 或例如 a+b:

或者

你能帮我解决这个问题吗?

再次感谢

第三部分来了……

0 投票
1 回答
1893 浏览

variables - Haskell - 确定函数的一组自由和有界变量

我必须确定函数 s1 和 s2 的自由和有界变量集:

所以,对于 s1 我会写:

我对么?或者应该是:

因为 y 和 x 是两次免费的。一旦 y 在 If 然后 -> y 的结果和 x: x 在 \z 的结果中是自由的一次,在最后是第二次。

有界变量将是:

因为 z 是有界 var 的两倍。

以同样的方式,我会确定 s2 的 FV 和 BV:

你能告诉我我是对还是错?

提前致谢

0 投票
2 回答
299 浏览

lambda - 如何将 let* 表示为 lambda 表达式(不是常规 let)

我有一个与方案相关的问题,我们如何将 let* 实现为 lambda 表达式。更准确地说,我不是想知道“常规”let,而是带 * 的 let 让我们在另一个中使用一个 let 表达式。

0 投票
2 回答
991 浏览

scheme - 在方案中应用“让”?

我正在尝试为方案编写解释器。到目前为止,我实现了定义、if 和一些算术表达式。这是我的解释器的语法:

这是我到目前为止编写的代码:

除了“让”之外,我写的所有东西都可以正常工作。让stmt?程序也可以按我的意愿工作,但是 s6-interpret 中的代码部分 ((let-stmt?e) (apply let (map s6-interpret (cdr e)))) 不能正常工作,它给了我一个错误说即“句法关键字不得用作表达式”。任何人都可以帮助我实现语法中给出的“let”语句的解释器吗?

谢谢

0 投票
1 回答
108 浏览

vim - gist-vim:更改令牌位置

我将mattn的 gist-vim与 gVim 一起使用。效果很好,一切都很好,但我不喜欢在我的主目录中放置的身份验证令牌。

所以我开始在插件文件中四处寻找,找到s:configfile了 dev 设置为expand('~/.gist-vim').

这让我相信我可以let s:configfile = expand('~/some/other/path/gist-vim')在其中包含vimrc更改我的令牌的位置。

但它不起作用。我运行时是否再次调用了 devs 命令:Gist,所以我的设置被覆盖了?只是想在我开始分叉和修改代码之前我需要问一下。