scala世界的新手和练习,在Windows REPL中的代码行下执行。出现错误Unit不接受参数。对此有任何想法。
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>
答案 0 :(得分:4)
这是因为scala看到println()
时认为{}
正在采用另一个参数。您也可以使用以下代码进行测试,
scala> println(8){}
^
error: Unit does not take parameters
scala> println(1)()
^
error: Unit does not take parameters
您需要在println()
和{}
之间加一行以使编译器满意。
示例: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