代码之家  ›  专栏  ›  技术社区  ›  Jose V

Scala中的if/else:simple expression/Il的非法开始

  •  1
  • Jose V  · 技术社区  · 7 年前

    以下是错误:

    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 查找数字 n 在斐波那契序列中

    listaFibonaccisAux

    listaFibonaccis 只是一个简单的包装器,用0来启动另一个

    这是一个平原 声明给我带来了麻烦,这很可悲。

    1 回复  |  直到 7 年前
        1
  •  4
  •   jwvh    7 年前

    编译器正在抱怨 if else 因为它认为前一行没有正确结束。

    试试这个: fib(n)

    虽然“中缀”(空格符号)有时很方便。。。

    instance.method(arg) instance method arg