2011-01-13 7 views
5

"파일 복사"액터가 포함 된 스칼라 유틸리티를 작성하고 있습니다. 복사 할 파일 이름을 보내고 배우는 한 번에 하나씩 작업을 수행합니다.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

에이전트에 상태를 저장하지 않으려면 미래를 사용하여 비동기로 작업하는 것이 좋습니다. –