gpt4 book ai didi

haskell - 如何在 Haskell 中进行多次 eta 缩减

转载 作者:行者123 更新时间:2023-12-02 16:36:36 29 4
gpt4 key购买 nike

我的任务是从 [[a]] 矩阵中获取一列。

一个简单的解决方案是

colFields :: Int -> [[a]] -> [a]
colFields n c = map (!! n) c

当减少一级抽象时,它会是

colFields n = map (!! n)

我感觉我可以轻松摆脱n,但我做不到。

最佳答案

您要找的是

colFields = map . flip (!!)

但是,这读起来不太清楚,我将 n 参数保留在那里。使用 n 作为显式参数,我立即明白该函数的作用。如果没有它,即使对于像这样的简单情况,我也必须思考一分钟才能理解其定义。

我通过使用 pointfree 非常简单地获得了这个答案工具,尽管有一些方法可以手动导出它。

关于haskell - 如何在 Haskell 中进行多次 eta 缩减,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26538438/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com