如何使用带箭头库的 kotlin 以函数式编程风格追加数据
How to append data in Functional programming style using kotlin with arrow library
我是函数式编程的新手,我正在使用带有箭头函数库的 Kotlin。我想将以下函数转换为纯函数。每个 func*()
调用 returns 一个有效的字符串,它被附加到可变字符串变量 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。我想将以下函数转换为纯函数。每个 func*()
调用 returns 一个有效的字符串,它被附加到可变字符串变量 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()}^"