我有一个关于技巧的问题
new PrintWriter("/tmp/some.file") { write("file contents"); close }
以下是我从这篇有趣的帖子中学到的内容:Scala: write string to file in one statement
这种技术在测试代码中非常有效,但是我对Scala语法中发生了什么有些困惑。
PrintWriter是一个Java类... 但是看起来像是将代码块传递给打印机实例,并且在该实例上隐式调用方法。PrintWriter Java类定义没有接受函数块的apply()方法。
因此... 我对Scala语法中发生了什么感到困惑
谢谢!
new SomeClass { ... }
也是Java中的语法,但在Java中构造函数的代码需要显式声明。更多信息请参考https://docs.oracle.com/javase/tutorial/java/javaOO/anonymousclasses.html。 - pedrofurla