Women in Technology

Hear us Roar

  An Introduction to Haskell, Part 1: Why Haskell
Subject:   List comprehension in ruby too...
Date:   2007-05-24 08:11:27
From:   pmccann
Response to: List comprehension in python

The ruby's also a little funked: maybe something like...

(1..10).find_all {|i| i % 2 == 0}

Full Threads Newest First

Showing messages 1 through 3 of 3.

  • List comprehension in ruby too...
    2007-05-25 12:24:06  PaulBattley [View]

    You could also do it like this, to make it a bit more explicit:

    even = lambda{ |x| x % 2 == 0 }

    But it's more elegant in Haskell.
  • List comprehension in ruby too...
    2007-05-26 03:23:29  paulk_asert [View]

    The Groovy equivalent to this looks very similar:

    (1..10).findAll {i -> i % 2 == 0}

    but if you look here:


    You can define the infinite stream of natural numbers which then lets you define all the even numbers as follows:

    def evennumbers = naturalnumbers.filter{ it % 2 == 0 }

    and then use it like this:

    assert [2 4 6 8 10] == evennumbers.take(5)
  • While we're picking apart the examples...
    2007-05-28 14:45:08  Yakshavers [View]

    The C example takes the cake. How is the caller supposed to know how many elements are in the returned array, so as to avoid a buffer overrun?