Scala 解释REPL发生的情况
我一直在REPL学习/试验Scala。 顺便说一下,顺便说一句,到目前为止我印象深刻。我发现语言很美 发生了以下情况,需要对发生的情况进行解释 提前感谢您提供的任何帮助 在REPL输入时:Scala 解释REPL发生的情况,scala,Scala,我一直在REPL学习/试验Scala。 顺便说一下,顺便说一句,到目前为止我印象深刻。我发现语言很美 发生了以下情况,需要对发生的情况进行解释 提前感谢您提供的任何帮助 在REPL输入时: def withMarks(mark: String)(body: => Unit){ println(mark + " Init") body println(mark + " End") } val a = "Testing clojure with paremeter by name
def withMarks(mark: String)(body: => Unit){
println(mark + " Init")
body
println(mark + " End")
}
val a = "Testing clojure with paremeter by name as control structure"
withMarks("***"){
println(a)
println("more expressions")
}
一切如期进行
我怀疑我是出于无知而发生了奇怪的事情。我输入了更多的内容:
class FileAsIterable{
def iterator = scala.io.Source.fromFile("/Users/MacBookProRetina/Google Drive/NewControl.scala").getLines()
}
val newIterator = new FileAsIterable with Iterable[String]
评估最后一行时,REPL打印:
newIterator: FileAsIterable with Iterable[String] = (def withMarks(mark: String)(body: => Unit){, println(mark + " Init"), body, println(mark + " End"), }, val a = "Hola Mundo", withMarks("***"){, println(a), })
即使在Mac中重新启动终端,并在不同的目录位置运行scala REPL,我仍然会得到相同的结果
不知道newIterator val是如何连接到withMarks def的。Nevermind。我只是被文件的内容弄糊涂了