sbt は優秀なツールだけれども、さくっと Scala のスクリプトを書くには Ammonite のほうがお気に入り。シェルからは -c オプションで気軽に Scala をスクリプトとして実行可能。
$ amm -c 'import scala.io.Source; val file = Source.fromFile("/home/kyagi/.gitconfig"); file.getLines.foreach(line => { if (line.contains("branch")) println(line) })' Compiling /home/kyagi/(console) ba = branch -ra bd = branch -d bD = branch -D br = branch bv = branch -vv
スクリプトをファイルに落として起きたい時は @main というアンモナイト記法? の後に main function を書く。
showGitBranchAlias.sc
import scala.io.Source @main def main(): Unit = { val file = Source.fromFile("/home/kyagi/.gitconfig") file.getLines.foreach(line => { if (line.contains("branch")) println(line) } ) }
$ amm showGitBranchAlias.sc Compiling /home/kyagi/bin/showGitBranchAlias.sc ba = branch -ra bd = branch -d bD = branch -D br = branch bv = branch -vv
もちろん REPL としても使える。sbt console よりも早く立ち上がる。プロンプトが @ なのがアンモナイトの名前の由来? ぽい (^.^;