代码之家  ›  专栏  ›  技术社区  ›  Learn Hadoop

scala 14:错误:单位不接受参数

  •  0
  • Learn Hadoop  · 技术社区  · 6 年前

    新的scala世界和练习,在windows repl的代码行下面执行。获取错误单元不需要参数。对此有任何想法。

    scala> :paste
    // Entering paste mode (ctrl-D to finish)
    
    val x:Int = 10
    println(x)
    {
    val x:Int =20
    println(x)
    }
    println(x)
    
    // Exiting paste mode, now interpreting.
    
    <pastie>:14: error: Unit does not take parameters
    {
    ^
    
    scala>
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   prayagupa soxunyi    6 年前

    那是因为斯卡拉认为 println() 当它看到 {} . 您也可以使用以下代码进行测试,

    scala> println(8){}
                     ^
           error: Unit does not take parameters
    
    scala> println(1)()
                     ^
           error: Unit does not take parameters
    

    你需要在 打印() {} 让编译器高兴。

    例子: https://scastie.scala-lang.org/prayagupd/jbPWBesyTvihwue8soE5Og

    scala> :paste
    // Entering paste mode (ctrl-D to finish)
    
    val x:Int = 10
    println(x)
    
    {
    val x:Int =20
    println(x)
    }
    println(x)
    
    // Exiting paste mode, now interpreting.
    
    10
    20
    10
    x: Int = 10