function - 让绑定如何工作
问题描述
我是 Haskell 的新手,在以下示例中无法理解 let 绑定的工作原理:
prefixes :: [a] -> [[a]]
prefixes xs =
let prefix n = take n xs
in map prefix (range (length xs))
'take' 函数返回一个列表,那么它如何绑定到 2 个变量(前缀 n)?还是我完全错过了这里的重点......
解决方案
您可以将其let
视为使用匿名函数的语法糖。
let name = value in stuff
相当于(\name -> stuff) value
。主体是子句中的表达式的匿名函数in
应用于绑定到let
子句中名称的表达式。
推荐阅读
- iphone - Apple App clip - 是否可以将联系人详细信息从 App clips 保存到电话联系人?
- python - 如何根据 Python 中的值使用不同的操作进行列表迭代
- python - 导出日期时间excel python
- python - 使用 AWS X-Ray 在 Django 中跟踪 Celery 任务
- java - 即使配置的限制为 50,log4j 仍停留在最多 13 个文件?
- vim - 点文件中不匹配的“.” - 点文件中“的功能是什么?
- c++ - uint8_t 和 unsigned char 之间的混淆
- python - Django - 分配经过身份验证的用户发布(自动)
- javascript - 创建队列时如何解决rsmq队列已经退出错误?
- swift - SwiftUI - 键盘启动后选择时选择器冻结