Hey Armando - How did you get the nice syntax highlighting into your
post??? Enquiring minds wanna know.....
Alan

On Fri, May 3, 2013 at 7:41 AM, Jim - FooBar(); <jimpil1...@gmail.com> wrote:
> I Just realised you've many responses and that you've already solved your
> problem...sorry for the noise people.
>
> Jim
>
>
>
> On 03/05/13 15:38, Jim - FooBar(); wrote:
>>
>> oops there is a typo!
>>
>> line 6 should be:
>> (conj res (doto c (.setAppliedBalance  (max 0 (- due (.getBalance c))))))
>>
>>
>> On 03/05/13 15:22, Jim - FooBar(); wrote:
>>>
>>> something like this perhaps?
>>>
>>> (loop [[c & more]] cards
>>>           res []
>>>           due 100]
>>>     (if-not c  res
>>> (recur more
>>>     (conj res (doto c (.setAppliedBalance  (max 0 (- due )))))
>>>     (->> c .getBalance (- due)))) )
>>>
>>> Jim
>>>
>>> ps: haven't got a clue what objects you're working with  so I'm
>>> purposefully using setters which is close to what you showed in your Ruby
>>> example....
>>>
>>>
>>>
>>> On 03/05/13 14:28, Jim - FooBar(); wrote:
>>>>
>>>> On 02/05/13 22:21, Steven Degutis wrote:
>>>>>
>>>>> Given pseudo-code (Ruby-ish):
>>>>>
>>>>> due = 100
>>>>> cards = cards.map do |card|
>>>>>      card.applied_balance = max(0, due - card.balance)
>>>>>      due -= card.applied_balance
>>>>>
>>>>> Notice how due changes at each turn, and each successive item in
>>>>> "cards" sees the change.
>>>>>
>>>>> What's an idiomatic way to do this in Clojure without using refs?
>>>>>
>>>>> -Steven
>>>>>
>>>>
>>>> Not a Ruby expert here, but I think 'reduce' is your friend.... :)
>>>> loop/recur is also an option ...
>>>>
>>>> the problem is not really how to loop, but how to replace all this
>>>> mutation...I'm saying this because you specifically asked not to use any
>>>> reference types.
>>>>
>>>>
>>>> Jim
>>>
>>>
>>
>
> --
> --
> 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/groups/opt_out.
>
>

-- 
-- 
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/groups/opt_out.


Reply via email to