问题标签 [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.
scheme - Scheme let* 作为嵌套的一元让
作为一个练习,我正在尝试重写表示源代码的字符串let*
作为嵌套的一元让。这是我的最大努力:
我目前遇到的问题是模式:
与以下字符串不匹配:
term子句只匹配第二个子句(c d)
。在我看来,它应该将所有剩余的(var val)
子句作为一个列表((c d) (e f))
。无论如何,我需要它这样做。
任何建议表示赞赏。
令我困惑的是,expr将匹配表达式列表,所以我想不出任何原因子句也不会这样做。
vim - 使用变量设置 Vim 选项
我有一个应该相当简单的问题,但我还没有找到解决方案。我正在编辑我的 .vimrc 并想使用保存在变量中的结果设置一个选项。例如,我想将我所有的临时文件聚合在 ~/.vimetc 中。这就是我想做的,
当然,set 不能解析变量,所以我只是以文字 |s:vimetc.'backups/'| 结尾,这完全不是我想要的。我尝试使用 &s:vimetc 得到类似的结果。有谁知道如何做到这一点?
linq - Linq-to-Objects 和 Linq-to-XML 中的 Let 语义问题
请考虑以下示例,其中包含嵌套 XElement 的定义和一对 Linq 表达式。第一个表达式按预期工作,迭代地获取底层的第一个和最后一个 XElement,方法是选择通过获取机器人(用于底部)生成的 tmp,存储在匿名类型的新实例中以重用名称“bots 。” 第二个表达式尝试做同样的事情,只是使用“Let”,但它根本不起作用。首先,编译器抱怨类型推断不起作用,然后,当我输入显式类型时,它会进入 IObservable 并变得更加丢失。我原以为这会非常简单,并且对失败感到非常惊讶和困惑。如果有人有时间查看和建议,我将不胜感激。您可以将以下内容粘贴到 LinqPad 中,
binding - Clojure 中的变量作用域 + eval
在 Clojure 中,
打印 3,而
和
生成“无法解析 var”异常。
根据http://clojure.org/evaluation、eval
、load-string
等生成临时命名空间来评估其内容。因此,我希望上述代码示例都不起作用,因为(def x 3)
是在我当前的命名空间中完成的,而不是由eval
.
- 为什么第一个代码示例有效,而后两个无效?
- 如何
eval
不使用绑定变量的表单def
?
谢谢!
coding-style - 链接“let”语句时最好使用“and”或“in”?
我意识到这可能是一个愚蠢的问题,但是......
如果我要链接一堆不需要知道彼此值的语句,使用let
or更好吗?and
in
例如,如果有的话,哪些是更可取的:
或者
我的直觉告诉我,前者应该是“更好”(通过对“更好”的一个非常狭隘的定义),因为它创建了必要的最小范围,而后者是一个范围内的范围内 -编译器/解释器注意但最终不重要且不必要的深度的范围。
recursion - 试图理解方案中的“让”
我正在尝试扩展一个简单的斐波那契函数,并且我需要多次使用每个术语的值。所以,我想我会let
用来坚持价值观。但是,我没有得到我认为应该从函数中得到的东西。
这是原始fib
功能:
这是我做同样事情的尝试,但是let
:
结果:
谢谢!
javascript - let 块语句和等价的 with 语句有什么区别?
过时的
let 语句的块版本在最终确定之前从 ES6 中删除,并且已从支持它的浏览器中删除。这个问题现在只具有历史意义。
使用ECMAScript 6let
块语句和使用with
具有等效对象文字的语句之间有什么区别吗?
使用let
语句
使用with
语句
haskell - Haskell 让 in/where 和 if 缩进
我有一个功能:
在 filterLength 我想检查多少 filterLength 之后,我尝试:
我得到错误:
如何使用 if 和 in 正确放置缩进?
谢谢你。
common-lisp - 语句没有按顺序执行?(在 let 语句中的 defvar)
我试图将其简化为最小的示例。代码运行没有错误,产生预期的输出。但它给了我一个警告,我的第一个变量是未定义的。似乎 progn 的第二个语句没有“看到”第一个语句的结果。谢谢您的帮助!
(我最初在代码中根本没有 progn 构造,但是在收到此错误后,我添加了它以查看是否会强制按顺序执行 - 但错误是相同的。)
这是代码:
这些是文件“input.lisp”的内容:
这是我在执行后从 sbcl 得到的输出(加载“test.lisp”):
所以,在我看来,两个定义语句都在执行,但第二个没有“看到”第一个的结果。它仍然正确构造数组,因为它填充了给定的初始内容。但是为什么 var1 还没有定义呢?