スケーラに慣れていない(Javaではなく)、シェルに精通していないユーザのためにAPIを開発する必要があります。彼らは基本的にスカラクラスの中にシェルスクリプトを書いています(私は外部シェルスクリプトを呼び出すことができると知っていますが、やって来ます!また、後で一般的なシェルタスクのためのいくつかの機能があります)。余分な定型文を使用してコマンドラインのためのスカラでDSLを作成する方法
私はのような何かを達成するために期待していた:どのように私はMyMagicTraitに処理することができ、配列[文字列]にライン2-4(または多分より少ない簡潔なバージョン)を変えることができ、
1 object MyCoolScript extends MyMagicTrait {
2 $ "mkdir /tmp/test"
3 $ "cd /tmp/test"
4 $ "wget some-url"
5 }
がより直接的ビーイングを?
私は約sys.process.stringToProcessを知っているが、私は持っている場合:
object MyCoolScript extends MyMagicTrait {
"mkdir /tmp/test" !!
"cd /tmp/test" !!
"wget some-url" !!
}
私は簡潔な方法で、各コマンドの結果を取得できますか?また、私は$ xxx表記を期待していました。
ポストアップデート回答:
@debilskiのおかげで、@tenshiと@ダニエル・C-ソブラルは、私は希望の実装に非常に近くまで来ることができました:https://gist.github.com/2777994
コードで行番号を取得すると、私はそれが好きです。 5に数えることはとても難しいです!そしてそれは私のsedの経験を常に新鮮に保ちます。 –
私は2行目から4行目を参照していたので、これを行いました。今はsedの使用を見ないでください:)。 –
ところで、 '$'は使わないでください。あなたはそれを使用してコードを書くことができますが、法的なコードではありません。 –