Scala代码在不使用scalac编译的情况下运行?
问题描述:
根据Scala教程,我们需要在使用scala filename
执行之前使用scalac filename.scala
编译Scala代码。但是当我尝试像scala filename.scala
,它运行并获得输出。Scala代码在不使用scalac编译的情况下运行?
这是为什么?所以编译使用scalac不需要运行代码?有人可以解释这一点。
谢谢。
scala -help
真的很有帮助。它说
A file argument will be run as a scala script unless it contains only
self-contained compilation units (classes and objects) and exactly one
runnable main method. In that case the file will be compiled and the
main method invoked. This provides a bridge between scripts and standard
scala source.
感谢丹尼斯的指针。
Scala可以用作一种脚本语言,并且可以从更新的版本开始(不记得是哪个),这是可能的,运行代码甚至不需要定义类或对象 – billpcs 2014-12-06 15:48:57
@DoomProg有趣的。当你说“运行代码时甚至没有定义类或对象”时,你是否指Scala Worksheet? – crackjack 2014-12-06 17:20:21
@crackjack不仅。试着用println(“hello”)制作一个文件,然后用scala命令运行它。如果你的Scala 2.10以上,我认为你应该能够得到这个消息。 – billpcs 2014-12-06 19:36:02