Scala をコマンドラインで使う - 1

ちょっと前に Haskell を書いていて,静的片付け楽だなー.
と思っていたところで,Scala 座もあるので,Scala
コマンドラインに使えないかな.と思って試行錯誤する次第.

こういうのを .zshrc に仕込むと,


# 普通の cat
$ scall .zshrc | diff - .zshrc; echo $?
0

# cat -n 的な
$ (echo a; echo b; echo c) | scall -B 'var i=1' -e 'l=>{println(i+" "+l);i+=1}' -E 'println("line count = " + i)'
1 a
2 b
3 c
line count = 4

以下補足


Mac だと,-Dfile.encoding=UTF-8 しなきゃならないので.

$HOME/local/bin/java

#!/bin/sh
exec /usr/bin/java -Dfile.encoding=UTF-8 "$@"

なるファイルを置いて,

# .zshrc のどこかに
export JAVACMD=$HOME/local/bin/java

してみた.

_JAVA_OPTIONS 環境変数を指定すれば,一応動くのだが.

$ env _JAVA_OPTIONS=-Dfile.encoding=UTF-8 /usr/bin/javac -help 2>&1 | head -2
Picked up _JAVA_OPTIONS: -Dfile.encoding=UTF-8
使い方: javac <options> <source files>

こんな感じで,Picked up _JAVA_OPTIONS: というメッセージが表示されるのがうまくない.

参考