2011-01-13 6 views
5

"ファイルコピー"アクタを含むユーティリティをScalaで作成しています。私はコピーするファイル名を送信し、俳優は一度に1つずつそれを行います。Clojureのアクタ

エージェントを使用してClojureで同じことをどのように行うのですか?

+0

この[スタック交換提案](http://area51.stackexchange.com/proposals/11464/code-review?referrer=aWNm_PdciyFqjFW8CUacGw2 "コードレビュー")に興味があります。ベータ版を開始する準備はほぼ完了ですが、もう少し必要です。 – greatwolf

答えて

2

なぜエージェントでこれを実行する必要がありますか?それらを非同期にコピーしたいからです。しかし、まだこれをやりたい場合は、

(do-all (for [x file-names] (send-off agent-name copy-function x))) 

のようなものを使用できますが、おそらく未来を使う方が良いでしょうか?

+0

私は、エージェントのポイントは、関数を渡すことによって**変更できる**状態を維持していることだと思いました。以前の値を気にせずに、単に非同期作業を行うためにエージェントを使いたい場合は、以前の値を無視するコピー関数を渡すことができます。 – Ralph

+0

はい、確かに - いくつかの状態データをエージェントに保存することができます –

+1

エージェントに状態を保存しない場合は、未来を使って非同期に作業する方がよいでしょう。 –

関連する問題