【问题标题】:How to append data in Functional programming style using kotlin with arrow library如何使用带有箭头库的 kotlin 以函数式编程风格附加数据
【发布时间】:2020-08-23 09:55:22
【问题描述】:

我是函数式编程的新手,我正在使用带有箭头函数库的 Kotlin。我想将以下函数转换为纯函数。每个func*() 调用都会返回一个有效字符串,并将其附加到可变字符串变量returnString。据我所知,FP 函数不应使用任何可变值。那么如何替换那些字符串附加行呢?

    private fun stringifyValue(): String {
            var returnString = String()
            returnString = returnString.plus("=")
            returnString = returnString.plus(func1())
            returnString = returnString.plus("+/")
            returnString = returnString.plus(func2())
            returnString = returnString.plus("@")
            returnString = returnString.plus(func3())
            returnString = returnString.plus("#")
            returnString = returnString.plus(func4())
            returnString = returnString.plus("%")
            returnString = returnString.plus(func5())
            returnString = returnString.plus("^")
            return returnString
}

【问题讨论】:

    标签: kotlin functional-programming arrow-kt


    【解决方案1】:

    这个问题似乎与 Arrow 无关。你有更多与这个例子相关的代码吗?也许还有更多的背景?

    至于手头的代码,使用 Kotlin 的模板字符串可能会更方便:

    private fun stringifyValue(): String = 
      "=${fun1()}+/${func2()}@${func3()}#${func4()}%${func5()}^"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-02
      • 1970-01-01
      • 2016-01-11
      相关资源
      最近更新 更多