In one of the callback functions in the defscreen I have a pipeline of functions that do something to the entities vector and return the resulting entities. I do something like this:
(->> entities (process-entities01) (process-entities02) (map (fn [entity] (->> entity (process-entity01) (process-entity02))) (process-entities03)) And that does not work, because each of the 'process-entities' functions are written in a way that expect a vector as input. Likewise, they each output a LazySeq unless I convert them back to a vector before returning. But I can't do that for the map function in the pipeline. But this does work: (->> entities (process-entities01) vec (process-entities02) vec (map (fn [entity] (->> entity (process-entity01) (process-entity02))) vec (process-entities03) vec) On Tue, Apr 15, 2014 at 3:34 PM, Zach Oakes <zsoa...@gmail.com> wrote: > Kris, the entities are automatically converted back into a vector by > play-clj after being returned by a given function. Can you elaborate on > what problem you believe is occurring when you don't change it back to a > vector? > > > On Tuesday, April 15, 2014 5:26:07 PM UTC-4, Kris Calabio wrote: > >> James, I have a question. I see this pattern a lot in the sample code and >> in your code as well, for example: >> >> (defn- move-player [entities] >> (->> entities >> >> (map (fn [entity] >> (->> entity >> >> (update-player-position) >> (update-hit-box)))) >> (remove-touched-apples))) >> >> >> When the entities vector gets threaded through the map function, it comes >> out as a LazySeq. But don't we want to keep the entities as a vector? This >> seems to be causing problems in my own code, and the only way to keep it >> working is to change it back to a vector every time I do this, which seems >> inelegant. Just wondering if I'm missing something. >> -Kris >> >> >> On Sun, Apr 13, 2014 at 3:13 PM, James Trunk <james...@gmail.com> wrote: >> >>> There's a link to a gist of >>> core.clj<https://gist.github.com/Misophistful/9892203>in the video's >>> description. >>> >>> Cheers, >>> James >>> >>> >>> On Monday, April 14, 2014 12:08:16 AM UTC+2, Kris Calabio wrote: >>> >>>> Actually, I thought it would be even more helpful if you had the source >>>> code available (for searching/skimming). Is that somewhere online? >>>> -Kris >>>> >>>> >>>> On Sun, Apr 13, 2014 at 2:47 PM, James Trunk <james...@gmail.com>wrote: >>>> >>>>> Hi Kris, >>>>> >>>>> Thanks for your comment, and I'm very glad that you found the video >>>>> helpful. >>>>> >>>>> I started doing screencasts because I realised that I learn a new >>>>> concept fastest by watching someone else doing/explaining it - and I >>>>> figured I might not be the only one. Saying that, I know screencasts >>>>> aren't >>>>> for everyone, and they have a few drawbacks compared to text (harder to >>>>> search, skim, or repeat sections). So positive comment like yours remind >>>>> me >>>>> that I'm not the only auditory/visual learner around here, and inspire me >>>>> to keep going. Thanks! >>>>> >>>>> James >>>>> >>>>> >>>>> On Saturday, April 12, 2014 11:28:29 PM UTC+2, Kris Calabio wrote: >>>>>> >>>>>> Great video! I've looked through Zach's examples, and even started >>>>>> coding a game myself. But your screencast helped me have a better >>>>>> understanding of some of the concepts and code that I was having trouble >>>>>> understanding just by looking at the example games. Thanks! >>>>>> -Kris >>>>>> >>>>>> On Thursday, March 27, 2014 10:07:21 AM UTC-7, James Trunk wrote: >>>>>>> >>>>>>> Hi everyone, >>>>>>> >>>>>>> I thought some of you might be interested to watch my screencast >>>>>>> about game development in Clojure with >>>>>>> play-clj<https://www.youtube.com/watch?v=9ilUe7Re-RA> >>>>>>> . >>>>>>> >>>>>>> Cheers, >>>>>>> James >>>>>>> >>>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "Clojure" group. >>>>> To post to this group, send email to clo...@googlegroups.com >>>>> >>>>> Note that posts from new members are moderated - please be patient >>>>> with your first post. >>>>> To unsubscribe from this group, send email to >>>>> clojure+u...@googlegroups.com >>>>> >>>>> For more options, visit this group at >>>>> http://groups.google.com/group/clojure?hl=en >>>>> --- >>>>> You received this message because you are subscribed to a topic in the >>>>> Google Groups "Clojure" group. >>>>> To unsubscribe from this topic, visit https://groups.google.com/d/to >>>>> pic/clojure/mR1IBJ_OomY/unsubscribe. >>>>> To unsubscribe from this group and all its topics, send an email to >>>>> clojure+u...@googlegroups.com. >>>>> >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>> >>>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Clojure" group. >>> To post to this group, send email to clo...@googlegroups.com >>> Note that posts from new members are moderated - please be patient with >>> your first post. >>> To unsubscribe from this group, send email to >>> clojure+u...@googlegroups.com >>> For more options, visit this group at >>> http://groups.google.com/group/clojure?hl=en >>> --- >>> You received this message because you are subscribed to a topic in the >>> Google Groups "Clojure" group. >>> To unsubscribe from this topic, visit https://groups.google.com/d/ >>> topic/clojure/mR1IBJ_OomY/unsubscribe. >>> To unsubscribe from this group and all its topics, send an email to >>> clojure+u...@googlegroups.com. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- > 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 > Note that posts from new members are moderated - please be patient with > your first post. > 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 > --- > You received this message because you are subscribed to a topic in the > Google Groups "Clojure" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/clojure/mR1IBJ_OomY/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > clojure+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- 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 Note that posts from new members are moderated - please be patient with your first post. 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 --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.