因此,复制列表元素给定次数的函数看起来像这样
rep :: Int -> [a] -> [a]
rep = concatMap . replicate
Run Code Online (Sandbox Code Playgroud)
按照定义(f . g) x = f(g(x))但是
(concatMap (replicate 4 "abc"))是不一样的(concatMap . replicate) 4 "abc".事实上它根本不起作用.而concatMap的第一个参数必须是函数.我对此感到困惑.那点免费版甚至可以工作吗?任何人都可以解释一下.
你是对的(f . g) x = f (g x),但这并不意味着(concatMap . replicate) 4 "abc" = concatMap (replicate 4 "abc").相反,它意味着(concatMap . replicate) 4 "abc" = concatMap (replicate 4) "abc",这是真的.
| 归档时间: |
|
| 查看次数: |
78 次 |
| 最近记录: |