Hello, I'm trying to create a list of agents and a function called next-agent that always gives me the next agent and restarts at the beginning when the list is exhausted. For my purposes the agent is serving as a thread that will do some work. I don't much care about its value at this time.
I'm new to Clojure and am pretty sure there is an elegant way to do what I want, but my little OO head is spinning. Any help you can provide is appreciated. Thanks, Justin => (def counter (ref 0)) #'user/counter => (defn next-counter [] (dosync (alter counter inc))) #'user/next-counter => (def a1 (agent 0)) #'user/a1 => (def a2 (agent 0)) #'user/a2 => (def a3 (agent 0)) #'user/a3 => (defn agents [] (cycle [a1 a2 a3])) #'user/agents => (defn next-agent [] (nth agents (next-counter))) #'user/next-agent => (next-agent) java.lang.UnsupportedOperationException: nth not supported on this type: user$agents__1177 (repl-1:92) --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---