我想针对函数参数为空列表、一个元素、更多元素分别定义
foo (x:[]) = 0
foo (x:xs) | null xs = 0
这两次能通过编译,但是不能一运行就报错。
发现只有
foo xs | length xs == 1 = 0
这么定义才work,感觉很丑。。。
foo (x:[]) = 0
foo (x:xs) | null xs = 0
这两次能通过编译,但是不能一运行就报错。
发现只有
foo xs | length xs == 1 = 0
这么定义才work,感觉很丑。。。