Programming in Haskell Chapter2 Exercises Solutions

Programming in Haskell是一本入门Haskell的好书,介绍页面以及配套的slides, vedios, codes都在这里


给算数表达式加上括号

按照运算符优先级就可以,略过。

修改代码,使之正确

length xs用括号括起来即可。

尝试定义last

last: 返回非空list的最后一个元素

1
mylast a = a !! ((length a) - 1)

尝试定义init

init: 删除非空list的最后一个元素,并返回list

1
2
3
myinit1 a = take ((length a) - 1) a

myinit2 a = let n = length a in reverse (tail (reverse a))