球队,
新的scala和逐步学习.在学习表达式块中的嵌套作用域时,写下以下代码行
object ExpressionTest extends App {
val area = {
val PI = 3.14
PI * 10
{
val PI= 100
PI * 2
}
}
println(area)
}
Run Code Online (Sandbox Code Playgroud)
在运行时获得以下异常.
Error:(9, 5) Int(10) does not take parameters
I am using Intellji
Run Code Online (Sandbox Code Playgroud)
在Scala中,可以将函数参数指定为块.编译器认为您的内部块是10来自前一行的参数.
为了帮助编译器理解你的意思,你可以;在行的末尾添加一个:
val area = {
val PI = 3.14
PI * 10;
{
val PI = 100
PI * 2
}
}
Run Code Online (Sandbox Code Playgroud)