gpt4 book ai didi

scala - Scala脚本和应用程序之间的区别

转载 作者:行者123 更新时间:2023-12-03 08:37:19 24 4
gpt4 key购买 nike

scala脚本和scala应用程序之间有什么区别?请提供一个例子

我正在阅读的书说,脚本必须始终以结果表达式结尾,而应用程序必须以定义结尾。不幸的是,没有显示清楚的例子。

请帮我澄清一下

最佳答案

我认为作者的意思是,常规的scala文件需要定义一个类或对象才能起作用/有用,您不能使用顶级表达式(因为已编译文件的入口点是pre -定义)。例如:

println("foo")

object Bar {
// Some code
}
println语句在 .scala文件的顶层无效,因为唯一的逻辑解释是在编译时运行它,这实际上没有任何意义。

相比之下,Scala脚本可以包含顶级表达式,因为这些表达式是在脚本运行时执行的,这又很有意义。另一方面,如果Scala脚本文件仅包含定义,那么它也将是无用的,因为脚本将不知道如何处理这些定义。但是,如果您以某种方式使用这些定义,那将是可以的,例如:
object Foo {
def bar = "test"
}

println(Foo.bar)

后者作为scala脚本有效,因为最后一条语句是使用先前定义的表达式,而不是定义本身。

关于scala - Scala脚本和应用程序之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13674327/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com