I'm glad you pointed this out! On stackoverflow everyone was assuming
filter was completely lazy in all cases
On Sunday, May 19, 2013 at 4:54:53 PM UTC+2, Jim foo.bar wrote:
>
> ha! you cheated with iterate...
>
> try this which is closer to the example...
>
> (first (filter odd? (map #(do
... or just (comp first filter)
((comp first filter) odd? [2 4 6 7 8 9])
= 7
--
--
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 -
no need to traverse the entire seq with 'filter' if you only want the
1st match...
(some #(when (odd? %) %) [2 4 6 7 8 9])
= 7
Jim
On 19/05/13 13:42, Thumbnail wrote:
... or just (comp first filter)
((comp first filter) odd? [2 4 6 7 8 9])
= 7
--
--
You received this message
Try this
user (first (drop-while even? [2 4 6 7 8 10]))
7
19.05.2013, 23:06, Jim - FooBar(); jimpil1...@gmail.com:
no need to traverse the entire seq with 'filter' if you only want the 1st
match...
(some #(when (odd? %) %) [2 4 6 7 8 9])
= 7
Jim
On 19/05/13 13:42, Thumbnail wrote:
On Sun, May 19, 2013 at 10:06 AM, Jim - FooBar(); jimpil1...@gmail.comwrote:
no need to traverse the entire seq with 'filter' if you only want the
1st match...
Pretty sure filter is lazy.
user= (first (filter odd? (map #(do (println realized %) %) (iterate
inc 0
realized 0
realized 1
ha! you cheated with iterate...
try this which is closer to the example...
(first (filter odd? (map #(do (println realized %) %) [2 4 6 7 8 9])))
realized 2
realized 4
realized 6
realized 7
realized 8
realized 9
7
Jim
On 19/05/13 15:31, Cedric Greevey wrote:
On Sun, May 19, 2013 at
remember the 32-chunked model... :)
Jim
On 19/05/13 15:54, Jim - FooBar(); wrote:
ha! you cheated with iterate...
try this which is closer to the example...
(first (filter odd? (map #(do (println realized %) %) [2 4 6 7 8 9])))
realized 2
realized 4
realized 6
realized 7
realized 8
On Wednesday, 11 February 2009 00:18:53 UTC+8, Jeff Rose wrote:
Hi,
Is there a built-in function that will return the first item in a
collection that matches a predicate? (Something equivalent to Ruby's
Enumerable#find...) Seems pretty basic, but I can't find it in the docs.
Thanks,
On Sun, May 19, 2013 at 4:54 PM, Jim - FooBar(); jimpil1...@gmail.comwrote:
ha! you cheated with iterate...
try this which is closer to the example...
(first (filter odd? (map #(do (println realized %) %) [2 4 6 7 8 9])))
realized 2
realized 4
realized 6
realized 7
realized 8
Hi,
Is there a built-in function that will return the first item in a
collection that matches a predicate? (Something equivalent to Ruby's
Enumerable#find...) Seems pretty basic, but I can't find it in the docs.
Thanks,
Jeff
--~--~-~--~~~---~--~~
You
Filter is lazy:
http://clojure.org/api#toc228
So you can implement find-first as (first (filter pred coll))
-M
On Feb 10, 2009, at 10:19 AM, Jeff Rose wrote:
Well, in case someone else needs the same function and it isn't built-
in, here's what I'm using in the meantime. (Based off of
Hi,
Am 10.02.2009 um 18:00 schrieb Jeff Rose:
Oh cool! I hadn't thought about this aspect of laziness before. I
can
see there is some zen here that is worth exploring...
Many ways to Rome:
(first (drop-while (complement predicate) coll))
:)
Sincerely
Meikel
smime.p7s
Description:
12 matches
Mail list logo