operators - 精益中有前缀符号吗?
问题描述
在 Haskell 中,我可以使用括号将中缀运算符 like+
转换为前缀函数,因此(+) 2 3
与2 + 3
. 精益中是否有类似的功能?
解决方案
在 Lean 4 中有新的·
“这是一个函数输入的占位符”符号,所以你可以做一些很酷的事情,比如
#check (· + 1)
-- fun a => a + 1
#check (2 - ·)
-- fun a => 2 - a
#eval [1, 2, 3, 4, 5].foldl (·*·) 1
-- 120
(这些示例来自手册)。在精益 3 中,您可以使用 Haskell 技巧:#eval (+) 2 3
返回 5。
推荐阅读
- c# - 将 PBIX 文件(从 blobstorage)导入 PowerBI 组时出现错误 (404)
- r - 向量与子向量长度 n 的组合
- c# - 使用 Moq 模拟 Fluent 界面
- python - 如何在 python 中打印使用 QtDesigner 设计的滚动 GUI?
- flutter - 如何使用“lamp 0.0.6”在 Android 上的 Flutter 中打开手机的灯?
- android - 如何通过 ADB 获取电子邮件地址列表
- ios - iOS13外屏镜像,报错:setScreen不应该被调用
- ruby-on-rails - 使用 Heroku 部署我的 Rails 应用程序时找不到 jquery 和 jquery_ujs
- firebase - Flutter FireStore 查询获取文档的集合
- c++ - 为什么这个 complex.h typedef 不起作用?