q3 a (b:[]) = a b
q3 a (b1:b2:bs) = q3 a (b2:bs)
Run Code Online (Sandbox Code Playgroud)
似乎a对功能没有任何影响.我的理解是这个函数有两个参数,第二个是列表,并返回第一个参数和第二个列表的尾部.但是,我对类型感到困惑:
q3 :: (t1 -> t) -> [t1] -> t
Run Code Online (Sandbox Code Playgroud)
怎么a相关t1 -> t?谢谢.
函数的第一行在a b等号后面.因此a,必须是一个函数,因为它是一个函数应用程序.由于b是列表元素的类型,因此a是从列表中的元素类型到函数的返回类型的函数.
该函数仅适用a于列表的最后一个元素.因此,它类似于a . last.