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 よりも早く立ち上がる。プロンプトが @ なのがアンモナイトの名前の由来? ぽい (^.^;
