首页 文章

Haskell类型[Integer-> Integer]

提问于
浏览
0
y = [\a->a+3, \b->1 , \c->c*c]

我认识函数y的类型为[Integer-> Integer],意味着它返回函数列表,每个函数取整数然后返回一个整数 . 但是,我很难弄清楚函数的输入,有人可以举个例子吗?

3 回答

  • 0

    没有任何输入 . 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
    
  • 5

    首先, y 的实际类型是 Num a => [a -> a] ,因为整数是多态常量 .

    其次, y 不是一个函数,它是一个列表 . 它没有任何论据;它的元素呢 . 或者,如果要将其称为函数,则它具有0个参数并返回列表 .

  • 2

    y 不是函数,它是函数列表 .

    没有输入 . 这只是一个功能列表 . 您可以选择其中一个函数并使用一些输入调用它,但就目前而言,它只是放入列表中的一堆函数 .

相关问题