我开始学习 Scala,我很有趣,我可以像在没有 OOP 概念的 Haskell 中那样在没有任何类或对象的情况下在 Scala 中定义和使用函数。我很感兴趣我可以在没有任何 OOP 概念的情况下完全使用 Scala 吗?
附言我为 Scala 使用 IntelliJ 插件
最佳答案
好吧,你真的不能这样做,但你可以通过使用 package objects 非常接近它。 :src/main/scala/yourpackage/package.scala
:
package object yourpackage {
def function(x: Int) = x*x
}
src/main/scala/yourpackage/Other.scala
:package yourpackage
object Other {
def main(args: Array[String]) {
println(function(10)); // Prints 100
}
}
注意
function
用于Other
object - 没有任何限定符。这里function
属于一个包,而不是某个特定的对象/类。
关于scala - 我可以在 Scala 中定义和使用类和对象之外的函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18548814/