Вот ситуация
val input = "a:b:c:d:e"
def getTrait(primary: SomeTrait, secondary: SomeTrait): SomeTrait {
...
}
def convertTrait(name: String): SomeTrait {
...
}
Так что я хочу сделать, это скользить ввод в окне 2 и построить SomeTrait на основе этого, как это
val result = getTrait(convertTrait(a),convertTrait(b))
, а затем использовать этот результат, чтобы построить другой результат, подобный этому
val resul2 = getTrait(result, convertTrait(c))
и так далее .......
Конечно, я хочу сделать это в какой-то рекурсии / для в scala, но не могу найти решение
Вот где я
val listOfList = input.split(":").grouped(2).toList
private def builder(inputList: List[List[String]], primary: SomeTrait, secondary: SomeTrait): SomeTrait = {
for {
xs <- inputList
fallback = if(xs.size == 1) providerFallBackChainBuilder(convertTrait(xs(0)), "noop") else providerFallBackChainBuilder(convertTrait(xs(1)), convertTrait(xs(0)))
} yield fallback
FallbackConfigProvider(primary, secondary)
}
Мне как-то нужно вернуть этот запасной вариант обратно в работу. Я знаю, что это не работает и не лучшее решение, но может кто-нибудь помочь мне о том, как правильно и правильно делать дит