我在工作中被锁定的电脑困住了。但我正在尝试练习我的 Scala。我正在使用 Ideone.com,因为我什至无法安装scalac
...
无论如何,这不能编译:
class DPt(var name: String, var x: Double, var y: Double){
def print = println("DPt; name: " + name + " x: " + x + " y: " + y)
}
object Main {
def main(args: Array[String]) {
val pt0 = new DPt("Joe", 1.0, 1.0)
println("checking generated accessor: " + pt0.x)
pt0 print
pt0.x_=(3.0)
pt0 print
}
}
我从 Ideone.com scala 编译器收到此消息:
Main.scala:12: error: Unit does not take parameters
pt0 print
^
one error found
spoj: The program compiled successfully, but Main.class was not found.
Class Main should contain method: def main(args: Array[String]).
但是,当我在语句末尾添加分号时,如下所示:
class DPt(var name: String, var x: Double, var y: Double){
def print = println("DPt; name: " + name + " x: " + x + " y: " + y)
}
object Main {
def main(args: Array[String]) {
val pt0 = new DPt("Joe", 1.0, 1.0);
println("checking generated accessor: " + pt0.x);
pt0 print;
pt0.x_=(3.0);
pt0 print;
}
}
我发现 Scala 中的中缀和后缀表示法是AWESOME,但我一定错过了一些东西。为什么 Scala 不认为行的结尾是语句的结尾?
这个博客上的第二张海报似乎有答案。 Scala 人应该关注这一点。真是烦人……尽管这是我在这种本来很美丽的语言中遇到的第一个烦人的事情。http://www.scala-lang.org/node/4143 http://www.scala-lang.org/node/4143
直接来自文档的另一个解释:http://docs.scala-lang.org/style/method-inspiration.html http://docs.scala-lang.org/style/method-invocation.html