y = [\a->a+3, \b->1 , \c->c*c]
我认识函数y的类型为[Integer-> Integer],意味着它返回函数列表,每个函数取整数然后返回一个整数 . 但是,我很难弄清楚函数的输入,有人可以举个例子吗?
没有任何输入 . y 不期望任何参数,它只会提供 Integer -> Integer 类型的函数列表(或者更确切地说: Num a => a -> a ) .
y
Integer -> Integer
Num a => a -> a
它有什么用?
好吧,您可以通过多种方式使用它,例如:
>>> let y = [\a->a+3, \b->1 , \c->c*c] >>> map (\f -> f 3) y [6,1,9] >>> sequence y 4 [7,1,16] >>> head y 10 13
首先, y 的实际类型是 Num a => [a -> a] ,因为整数是多态常量 .
Num a => [a -> a]
其次, y 不是一个函数,它是一个列表 . 它没有任何论据;它的元素呢 . 或者,如果要将其称为函数,则它具有0个参数并返回列表 .
y 不是函数,它是函数列表 .
没有输入 . 这只是一个功能列表 . 您可以选择其中一个函数并使用一些输入调用它,但就目前而言,它只是放入列表中的一堆函数 .
3 回答
没有任何输入 .
y
不期望任何参数,它只会提供Integer -> Integer
类型的函数列表(或者更确切地说:Num a => a -> a
) .它有什么用?
好吧,您可以通过多种方式使用它,例如:
首先,
y
的实际类型是Num a => [a -> a]
,因为整数是多态常量 .其次,
y
不是一个函数,它是一个列表 . 它没有任何论据;它的元素呢 . 或者,如果要将其称为函数,则它具有0个参数并返回列表 .y
不是函数,它是函数列表 .没有输入 . 这只是一个功能列表 . 您可以选择其中一个函数并使用一些输入调用它,但就目前而言,它只是放入列表中的一堆函数 .