0
这些都是错误的:的if/else在斯卡拉:/简单的表达非法的开始伊尔
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
声明,我已经尝试过包装和展开东西在括号,但它并没有帮助:
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
发现在Fibonacci序列中的一些n
listaFibonaccisAux
创建使用FIB Fibonacci数的列表,并停止如果这些数字比INT更大
listaFibonaccis
只是一个简单的包装来调用另一个用0来启动它
这是一个普通的if/else
声明放弃我的麻烦,这是可悲的。
搞清楚Scala需要哪些地方,哪些地方没有让我疯狂,谢谢你的工作。 – Jose
通常情况下,最好避免中缀,直到你有感觉,然后才是最简单,最明显的情况。 – jwvh
永远不能在正常的函数调用中使用中缀 - 它需要一个成员函数。它被称为“中缀”,因为函数名称位于左侧和右侧之间。 – Suma