Как добавить данные в стиле функционального программирования, используя kotlin с библиотекой стрелок - PullRequest
0 голосов
/ 08 мая 2020

Я новичок в функциональном программировании и использую 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
}

1 Ответ

2 голосов
/ 08 мая 2020

Этот вопрос не имеет отношения к Стрелке. У вас есть еще код, связанный с этим примером? И, может быть, больше контекста?

Что касается кода под рукой, может быть проще использовать строки шаблона Kotlin:

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