这些是错误:
scala.scala:13: error: not found: value listaFibonaccisAux
listaFibonaccisAux int 0
^
scala.scala:4: error: illegal start of simple expression
if (int>fibby) fibby :: (listaFibonaccisAux int (n+1))
^
scala.scala:1: error: illegal start of definition
else List()
^
scala.scala:1: error: eof expected but '}' found.
}
^
这是我的代码,错误似乎是指简单的if/else
语句,我已经尝试过包装和解开parens中的内容,但它没有帮助:
def listaFibonaccis (int:Int):List[Int]=
{
listaFibonaccisAux (int, 0)
}
def listaFibonaccisAux (int:Int, n:Int):List[Int]=
{
var fibby = fib n
if (int> fibby)
fibby :: (listaFibonaccisAux (int, (n+1)))
else
List()
}
def fib( n : Int) : Int = n match
{
case 0 | 1 => n
case _ => fib( n-1 ) + fib( n-2 )
}
fib
在斐波纳契序列中找到一个数字n
listaFibonaccisAux
使用fib创建一个斐波纳契数列表,并在数字大于int时停止
listaFibonaccis
只是一个简单的包装器来调用另一个用0来启动它
这是一个简单的if/else
声明给我带来麻烦,这很难过。
答案 0 :(得分:4)
编译器抱怨if
/ else
,因为它认为之前的行没有正确结束。
试试这个:fib(n)
虽然“中缀”(空格符号)有时候很方便......
instance.method(arg)
加入instance method arg
...因为您尝试使用它,所以无法应用。