在这个Scala代码中,我试图分析一个包含总和(例如12+3+5
)的字符串并返回结果(20
)。我正在使用正则表达式来提取第一个数字并解析要递归添加的路径。我的问题是,由于正则表达式返回一个字符串,我不能加起来的数字。有任何想法吗?在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