[英]Haskell types [Integer->Integer]
y = [\a->a+3, \b->1 , \c->c*c]
我認識到函數y具有[Integer-> Integer]的類型,這意味着它返回函數列表,並且每個函數均采用整數,然后返回整數。 但是,我很難弄清楚函數的輸入,有人可以給我一個例子嗎?
沒有任何輸入。 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]
,因為整數是多態常數。
其次, y
不是函數,而是一個列表。 它不帶任何參數。 它的元素。 或者,如果您想將其稱為函數,則它具有0個參數並返回一個列表。
y
不是函數,而是函數列表 。
沒有輸入。 這只是功能列表。 您可以選擇這些函數之一,並通過一些輸入來調用它,但就目前而言,它只是一堆已放入列表中的函數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.