Scala 威尔';val';生成可变数据?
在REPL中键入以下命令时Scala 威尔';val';生成可变数据?,scala,Scala,在REPL中键入以下命令时 scala> val p = 1 << 1 p: Int = 2 scala>val p=1 val p=1此行为仅出现在REPL中。如果您尝试在Scala代码中两次定义val,您将得到编译错误。在REPL中,val的第二个定义只是对p的上一个值进行了阴影处理,如上所述,在REPL中,您可以覆盖val。试想一下,如果在IDE中键入一个可以修复的值时出错,在REPL中如何修复?您需要关闭会话吗?您没有分配给p。您正在声明一个完全不同的新p。感谢大家的
scala> val p = 1 << 1
p: Int = 2
scala>val p=1 val p=1此行为仅出现在REPL中。如果您尝试在Scala代码中两次定义val,您将得到编译错误。在REPL中,val的第二个定义只是对p的上一个值进行了阴影处理,如上所述,在REPL中,您可以覆盖val。试想一下,如果在IDE中键入一个可以修复的值时出错,在REPL中如何修复?您需要关闭会话吗?您没有分配给p
。您正在声明一个完全不同的新p
。感谢大家的帮助:)
scala> val p = 1 << 2
p: Int = 4