繁体   English   中英

Haskell中的函数定义

[英]Function definition in Haskell

我有2个样本问题,无法解决

首先

abss :: Int->Int
abss x 
        | x<0           =x
        | otherwise     =-x

第二

headd ::[a]->a
headd [x,_] = x

因此,让我尝试:

abss :: Int->Int
abss x 
        | x<0           =x
        | otherwise     = -x

您编写Haskell的方式将假设运算符=-在那里-您需要空格;)

headd ::[a]->a
headd (x:_) = x

并且在这里,您希望head版本查看非空列表的第一个元素(其格式为x:rest[x,_]仅匹配[1,2] ,“ ab”,..等列表)。 。但不是[1,2,3] ,“ abc”,..

顺便说一句:我假设您希望此函数是局部的(就像head是一样的)-您可以通过以下方法摆脱编译器警告:

headd ::[a]->a
headd [] = error "no head on empty list"
headd (x:_) = x

如果你想

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM