0

如果 scala 方法属于类,为什么要在类之外创建方法?

如:

def hello(a:String) {println(s"Hello $a")}

这个方法属于哪个类?

为什么会有这样的概念(课外方法)?我的第一印象是它会产生很多混乱,因为它是多余的(您已经可以拥有“正常”功能)。

4

1 回答 1

2

实际上,如果您将此代码放入文件Smth.scala并尝试编译它,您会发现它没有

Error:(1, 1) expected class or object definition
def hello(a:String) {println(s"Hello $a")}

我猜你在 repl 中写了这段代码。在 repl 中,每一行都编译在某个对象中。

在 Scala 3 中,顶级定义将成为可能

https://dotty.epfl.ch/docs/reference/dropped-features/package-objects.html

于 2019-09-30T10:00:04.837 回答