В этом коде Scala я пытаюсь проанализировать строку, содержащую сумму (например, 12+3+5
) и вернуть результат (20
). Я использую регулярное выражение, чтобы извлечь первую цифру и проанализировать трейл, который будет добавлен рекурсивно. Моя проблема в том, что, поскольку регулярное выражение возвращает String, я не могу добавить числа. Есть идеи?Добавление чисел рекурсивно в Scala
object TestRecursive extends App {
val plus = """(\w*)\+(\w*)""".r
println(parse("12+3+5"))
def parse(str: String) : String = str match {
// sum
case plus(head, trail) => parse(head) + parse(trail)
case _ => str
}
}
Почему не просто 'Println (12 + 3 + 5)'? ;) – Maroun
Я пытаюсь построить калькулятор для пользователя, который вводит строку, и программа вычисляет результат – ps0604
case _ => str.toInt – csharpfolk