我发现自己用很多东西替换bash和python,比如
$ gunzip -c bigFile | scala -e "
import SimpleIO._
import java.util.HashSet
import scala.collection.JavaConverters._
val h = new HashSet[String]
ByLine(l => {h.add(l); true}) // ByLine applies lambda to each line on stdin
h.asScala.foreach(x => println(x) })
" | ...
出于表现力和表现的原因。
虽然我可以通过几行scala以可读的方式表达很多逻辑,但事实证明我需要一大堆进口才能完成任何非常重要的工作。在阅读脚本和分散逻辑时,这只是嘈杂。我希望能够将许多常见的包导入一个"命名空间" / meta-package,他们只需要一次导入一切。有没有办法做到这一点?
请注意,大多数jvm启动延迟将会因计算的规模而相形见绌,因此不必要的导入不是那么大的交易。