haskell - 为什么我们需要将 let 放在列表中的函数前面
问题描述
这是原始功能
[let square x = x * x in (square 5, square 3, square 2)]
我试图从上面的行中删除 let ,但它不起作用。
[square x = x * x in (square 5, square 3, square 2)]
<interactive>:21:11: error:
parse error on input ‘=’
Perhaps you need a 'let' in a 'do' block?
e.g. 'let x = 5' instead of 'x = 5'
为什么有必要在那里?
解决方案
列表是从表达式创建的。引入局部变量名称的表达式应该以let
(或者,更具体地说,应该使用let ... in
语法)开头。square x = x * x
是顶级函数声明。
推荐阅读
- swift - 如何将图像的底部淡入背景?
- angular - 如何在角度 4 中显示没有 http 服务调用的微调器
- python - 验证 WTForms 中动态大小的 FieldList
- .net - 如何在 ListView 中获取项目并在 ComboBox 中显示?
- java - 如何创建与 PostgreSQL Copy 兼容的二进制格式文件?
- python - Python BeautifulSoup -将标签文本提取到数组中
- algorithm - 如何优化 Bgp Anycast AS 路径长度
- sql - 在 SSRS 中,tablix 不会拾取动态 SQL 中生成的文本进行分组
- spring-security - Spring Security oauth2 客户端 - 如何获取 JWT 令牌
- python - Python:是否可以只从 scipy.stats.chisquare 输出 p 值