haskell - 为什么odd.fst 不能与过滤器功能一起使用?
问题描述
为什么filter odd.fst [(1,2), (2,3)]
给我一个编译错误?odd.fst
应该接受一个整数元组并输出一个布尔值,所以我很困惑为什么编译器告诉我它不能匹配类型。
解决方案
出于同样的原因,2 * 3+4
不是。运算符优先级不关心间距:解析为.10
14
2 * 3+4
(2 * 3) + 4
相似地,
filter odd.fst [(1,2), (2,3)]
解析为
(filter odd) . (fst [(1,2), (2,3)])
无论你如何间隔它。这是因为函数应用比任何中缀运算符具有更高的优先级。
你要
filter (odd . fst) [(1,2), (2,3)]
反而。
推荐阅读
- c# - 如何防止在dotfuscator中重命名动态类型
- reactjs - 取数据后不断输入useEffect
- c# - SQL Server Management Studio 18列自增从3跳到1000+
- arrays - 使用 k 个对斐波那契位序列进行排名和取消排名
- javascript - 来自控制器的 Json 值错误以在视图中使用,Laravel 5.6
- node.js - 如何运行一段代码然后每隔几分钟循环一次
- python-3.x - pip list cmd 显示已安装 tensorflow 但无法导入
- html - 拒绝在 Thymeleaf 中显示图像
- python - 如何在 GRU 的网络中使用 DataParallel 时修复错误
- visual-studio-code - VSCode 自动完成和 IntelliSense 在反引号中不起作用