gpt4 book ai didi

Haskell:函数确定函数的数量?

转载 作者:行者123 更新时间:2023-12-03 11:45:22 26 4
gpt4 key购买 nike

能不能写个函数arity :: a -> Integer确定任意函数的arity,使得

> arity map
2
> arity foldr
3
> arity id
1
> arity "hello"
0

?

最佳答案

是的,它可以非常非常容易地完成:

arity :: (a -> b) -> Int
arity = const 1

基本原理:如果它是一个函数,您可以将它应用于恰好 1 个参数。请注意,haskell 语法无法将 f a b 应用于 0、2 或更多参数。真的是 (f a) b ,即不是 f applied to a and b , 但是 (f applied to a) applied to b .
当然,结果可能是另一个可以再次应用的函数,等等。

听起来很愚蠢,但事实就是如此。

关于Haskell:函数确定函数的数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8369114/

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