os-lib
ファイルへの書き込みやファイルリストなど、OSと相互作用する諸々の処理をパッケージしてくれる便利ライブラリ。ちょっとした処理であればだいたいこれで済む。
できること(一部)
ファイルへの書き込み・読み出し(os.write / os.read)
ファイルサイズの取得 os.size()
プロセスの起動(stdoutを取得したり、stdinに文字列を渡したりもできる) (os.proc(...).call())
os.proc("ls", "-la").out.trim ls -laした結果の標準出力を取得する
便利なパス処理
os.pwd() 現在のディレクトリを取得
os.pwd() / "foo.txt" 現在のディレクトリ直下にあるfoo.txt
os.pwd() / os.RelPath("foo/bar/buzz.txt") ./foo/bar/buzz.txtに対応
ハマりどころ
os.pwd / pathStringしたらコケる
この書き方だとpathStringに/が含まれている場合にコケる。
os.pwd / os.RelPath(pathString)とするのがポータブルな書き方
Scala Native対応
os-libはScala Native向けのアーティファクトを公開しているが、os.procまわりのAPIは未実装となっている。
プロセスを起動するときにOSスレッドを利用するが、Scala Nativeではまだスレッドを利用できないため。
Scala Native 0.5のマイルストーンにスレッドのサポートが含まれているため、これに合わせて実装されるっぽい
hr.icon
コメント
windymelt.icon いつも助かっています