如何使用带有箭头库的kotlin以函数式编程风格追加数据

如何使用带有箭头库的kotlin以函数式编程风格追加数据,kotlin,functional-programming,arrow-kt,Kotlin,Functional Programming,Arrow Kt,我是函数式编程新手,我正在使用Kotlin和arrow函数库。我想把下面的函数转换成纯函数。每个func*()调用都返回一个有效字符串,并将其附加到可变字符串变量returnString。据我所知,FP函数不应该使用任何可变值。那么我该如何替换那些字符串附加行呢 private fun stringifyValue(): String { var returnString = String() returnString = returnSt

我是函数式编程新手,我正在使用Kotlin和arrow函数库。我想把下面的函数转换成纯函数。每个
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的模板字符串可能更容易:

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

这个问题似乎和阿罗无关。您是否有更多与此示例相关的代码?也许还有更多的背景

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

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