簡體   English   中英

Haskell類型[Integer-> Integer]

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM