Haskell中如何实现向列表添加元素的putIntoList函数
Haskell putIntoList 函数实现
你给出的函数签名putIntoList :: a -> [a]的作用是接收任意类型的单个值,返回仅包含该值的单元素列表,有两种常用实现方案:
- 可读性更高的显式参数写法:
putIntoList :: a -> [a] putIntoList x = [x]
- 更简洁的无点式(Pointfree)写法:
putIntoList :: a -> [a] putIntoList = (:[])
无点式写法原理说明:Haskell 中的列表构造运算符
:为右结合中缀运算符,作用是将左侧元素追加到右侧列表的头部。(:[])是对:运算符的节(Section)处理,固定了它的第二个参数为空列表[],此时它就等价于匿名函数\x -> x : [],和显式参数写法的效果完全一致。
内容的提问来源于stack exchange,提问作者user16064530
相关产品推荐
相关产品推荐

