函数式编程 pipe/compose 和地图叠瓦(refacto)
Functional programing pipe/compose and map imbrication (refacto)
我是函数式编程的初学者,
有更好的写法吗?因为地图叠层并不是真正可读的:p
TypeScript
type $parse = (text: string) => string[][][];
const parse: $parse = pipe(split("\n\n\n"), map(pipe(split("\n\n"), map(pipe(split("\n"), filter(isNotEmpty))))));
谢谢:)
除了以更易读的方式布置代码外,我认为我没有任何特别的建议。直到我像这样重新格式化它,我才明白它做了什么:
const parse = pipe (
split ("\n\n\n"),
map (pipe (
split ("\n\n"),
map (pipe (
split ("\n"),
filter (isNotEmpty)
))
))
);
然后代码看起来相当清晰。
我是函数式编程的初学者, 有更好的写法吗?因为地图叠层并不是真正可读的:p TypeScript
type $parse = (text: string) => string[][][];
const parse: $parse = pipe(split("\n\n\n"), map(pipe(split("\n\n"), map(pipe(split("\n"), filter(isNotEmpty))))));
谢谢:)
除了以更易读的方式布置代码外,我认为我没有任何特别的建议。直到我像这样重新格式化它,我才明白它做了什么:
const parse = pipe (
split ("\n\n\n"),
map (pipe (
split ("\n\n"),
map (pipe (
split ("\n"),
filter (isNotEmpty)
))
))
);
然后代码看起来相当清晰。