我刚开始学习scala.在尝试实现递归函数时,我在eclipse中收到错误"非法启动简单表达式":
def foo(total: Int, nums: List[Int]):
if(total % nums.sorted.head != 0)
0
else
recur(total, nums.sorted.reverse, 0)
def recur(total: Int, nums: List[Int], index: Int): Int =
var sum = 0 // ***** This line complained "illegal start of simple expression"
// ... other codes unrelated to the question. A return value is included.
Run Code Online (Sandbox Code Playgroud)
谁能告诉我在(递归)函数中定义变量我做错了什么?我在网上进行了搜索,但无法解释这个错误.
变量declaration(var)不返回值,因此您需要以某种方式返回值,以下是代码的外观:
object Main {
def foo(total: Int, coins: List[Int]): Int = {
if (total % coins.sorted.head != 0)
0
else
recur(total, coins.sorted.reverse, 0)
def recur(total: Int, coins: List[Int], index: Int): Int = {
var sum = 0
sum
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
35890 次 |
| 最近记录: |