问题标签 [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 - 'let' 上的 Haskell 解析错误
所以我是 Haskell 的新手,我必须编写 Rabin Karps 算法。我觉得我的答案应该有效,但是我在编译时不断收到“'let' 上的解析错误”错误。谁能帮帮我。
这是我的代码:
haskell - GHCi“让”——它有什么作用?
如果有人可以指出有关“让”在 GHCi 中的作用的文档,或者如果失败,请令人信服地解释它,我将不胜感激。
据我所知,“let”(没有“in”)本身不是 Haskell 语言的一部分,另一方面,它似乎也不是 GHCi 命令,因为它没有以冒号为前缀.
lisp - 学习 Lisp。似乎无法从一个函数中获取值并在另一个函数中使用它
我正在尝试在列表中找到最大数量,然后对其进行处理:
但是它打印 null,但 maxList 有效。我究竟做错了什么 ?
macros - 迭代创建局部变量?
我创建了一个函数,它将任意长的数字列表作为参数。从这个列表中,我希望使用let
. 矩阵将根据列表内的数字序列具有行和列。例如,
应该在本地创建
也就是说,第一个矩阵从列表中相邻元素的前两个元素中获取其维度,依此类推。
我的问题是:有没有办法Mn
在let
表达式中迭代地创建任意长的局部变量集?或者这是我应该使用宏的情况?
haskell - lambda中的haskell嵌套let
我必须错过一些东西,但我不明白为什么这个人为的例子不起作用:
ghci > 输入“h”时解析错误
但是,这个等效的部分是好的:
我相信这是我的语法问题,但我在 test1 中看不到任何错误。谢谢。
编辑:感谢您指出找到问题的正确方法。原来与 vim-haskellConceal 插件有关。我将代码复制粘贴到另一个编辑器中,然后切换回 vim 并注意到嵌套的 let-in 块中有不同的缩进。删除该插件后一切正常。
编辑:我应该停止指责这个插件,因为我简要阅读了它的代码,没有发现任何不合适的地方。也许vim7.3中的“隐藏”功能是根本原因。但我宁愿去我温暖舒适的床...
clojure - 在 Clojure 中循环一个“let”列表?
如果我有一个未知数量的参数,我想用“let”相互绑定,例如:
如果我在函数/宏或类似函数中绑定 let 并且我想遍历列表,我将如何执行此操作?
请注意,在 let 中有 4 个元素,但我只想遍历“键”。一个使用示例可能是检查绑定到键的值是否是像 b 这样的数字,即 55
编辑:作为一个例子:请注意,以下内容非常糟糕,但它只是为了解释问题:
输入:(func [a“你好”b 55]
所以基本上:我想要一个功能:
- 将参数绑定到某种形式的列表,例如:[ab]
- 打印“omg no way!”) - 不应该是循环的一部分,应该只在函数中打印一次
- 某种循环,例如循环通过“let-list”的for循环,所以它会去:“a,是一个数字吗?不,是b数字吗?是的,打印“roar”
输出:omg 没办法咆哮
再一次: 我想知道是否有一种方法可以访问函数内部的关键字。正如 for 循环所示,我想访问每个单独的元素并使用该元素执行操作。如果我使用 (for [x arguments] 代替,它会给出:omg no way, roar roar (因为 b 绑定到 55 所以它是一个数字但 55 也是一个数字但没有必要使用 55 因为 55 是已经绑定到 b)
record - 在 Z3 中编码 let 表达式
下面的代码用两个字段array-fld
和blist-fld
. 我已经为这些字段定义了更新函数,然后断言了一个应该为 true 的属性(但 z3 报告为unknown
)。这是 Z3 版本 4.0,运行为z3 -smt2 -in
:
如果我通过替换方程式 array-val 绑定手动展开/消除存在,我得到
这很高兴地解决了sat
。
我想这里面有四个问题:
- 有没有办法调用 z3 来解决第一个实例和第二个实例?
- 我应该以不同的方式编码我的记录/结构吗?
- 我是否应该以不同的方式编码我的 let 表达式(正是这些导致存在量化)?
- 或者,我是否应该直接扩展 let 表达式(我可以自己做,但如果有很多引用,它可能会导致大术语)。
for-loop - 基本的 Clojure 语法
假设我有一个宏,在宏里面我有这个:
因为我很难找到关于非常简单的 Clojure 东西的正确信息,所以我在这里问:我需要做什么才能完成上述任务?我认为应该可以做到这一点,但我不知道最关键的部分!
variables - let* 中未定义的变量
出于某种原因,当我尝试 Cc Ck 包含代码的程序时:
我收到一条错误消息,提示“变量rank-dump-vec
未定义”。我不确定为什么会这样——我相信反引号和逗号是可以的。我错过了什么吗?
haskell - 在没有类型注释的 let 绑定中避免单态
我有一些使用类型来消除实例歧义的代码(真正的代码是使用 GHC.TypeLits 单例作为类型标签,但我认为这不是密切相关的),我想使用 let 绑定来避免文本级重复; 不幸的是,这使结果单一化。
以下是该问题的一个示例:
上面的代码不能编译(但是,当然,如果我输入 annotatequux
是多态的,一切正常),正确地抱怨它不能Int
与Char
. 有没有什么方法可以让编译成功而无需类型注释并且无需bar undefined
在每个使用站点重复?