【问题标题】:Functional programing pipe/compose and map imbrication (refacto)函数式编程管道/组合和映射重叠(重构)
【发布时间】:2021-06-24 08:00:23
【问题描述】:

我是函数式编程的初学者, 有更好的方法来写这个吗?因为地图叠瓦不是真正可读的:p 打字稿

type $parse = (text: string) => string[][][];
const parse: $parse = pipe(split("\n\n\n"), map(pipe(split("\n\n"), map(pipe(split("\n"), filter(isNotEmpty))))));

谢谢你:)

【问题讨论】:

    标签: javascript typescript functional-programming ramda.js


    【解决方案1】:

    我认为我没有任何特别的建议,除了以更易读的方式布置代码。直到我像这样重新格式化它,我才明白它做了什么:

    const parse = pipe (
      split ("\n\n\n"), 
      map (pipe (
        split ("\n\n"), 
        map (pipe (
          split ("\n"), 
          filter (isNotEmpty)
        ))
      ))
    );
    

    然后代码看起来相当清晰。

    【讨论】:

      猜你喜欢
      • 2011-01-18
      • 2018-03-14
      • 1970-01-01
      • 2020-09-05
      • 1970-01-01
      • 1970-01-01
      • 2013-04-03
      • 2019-08-02
      • 1970-01-01
      相关资源
      最近更新 更多