gpt4 book ai didi

haskell - 任何人都知道如何使用部分应用的三参数函数中缀(haskell)

转载 作者:行者123 更新时间:2023-12-04 22:07:44 25 4
gpt4 key购买 nike

我想根据 bool 值(参数之一)以不同方式应用 3 个参数函数。

我希望能够以中缀方式应用它,以便我可以链接它(下面的示例)。类似于以下内容,但实际上有效。

f :: Bool -> a -> a -> a

f True i j = i
f False i j = j

... y `(f True)` z `(f False)` b

我是否需要将 Bool 作为第二个变量?或者是其他东西?我有点失落。

附言我想这样做的原因是有可选的附加功能

最佳答案

infix notation for functions with more than two arguments是可能的,但不是很好。在你的情况下,给定

f :: Bool -> a -> a -> a
f True i j = i
f False i j = j

你可以写
(True `f` 1) 3

写起来要容易得多(正如其他人所建议的那样):
let ft = f True
let ff = f False

那么你可以做
1 `ft` 3 `ff` 5

如果您想使用 f你应该写:
(False `f` ((True `f` 1) 3)) 5

你可以验证
1 `ft` 3 `ff` 5 == (False `f` ((True `f` 1) 3)) 5

关于haskell - 任何人都知道如何使用部分应用的三参数函数中缀(haskell),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6354401/

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