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

scala嵌套表达式不接受参数

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

    团队,

    对scala来说是个新手,一步一步地学习。在学习表达式块中的嵌套作用域时,将代码行写在下面

    object ExpressionTest extends App {
    
    
      val area = {
        val PI = 3.14
        PI * 10
        {
          val PI= 100
          PI * 2
        }
      }
    
      println(area)
    }
    

    运行时低于异常。

    Error:(9, 5) Int(10) does not take parameters
    I am using Intellji 
    
    1 回复  |  直到 6 年前
        1
  •  3
  •   Kraylog    6 年前

    在scala中,可以将函数参数指定为块。编译器认为您的内部块是 10 从上一行开始。

    为了帮助编译器理解您的意思,可以添加 ; 行尾:

     val area = {
        val PI = 3.14
        PI * 10;
        {
          val PI = 100
          PI * 2
        }
      }