[plt-scheme] Teaching Scheme
Dear Eli (& Sam),
I'm sorry that I missed that.
Thanks for taking the time to clarify it for me.
Its getting quite late (3AM) so I apologize for not being more cognitive.
I certainly appreciate the usefulness of returning a list vs printing it out. It is not a complex concept to understand. However, thanks for pointing this out.
Kind regards,
Samuel
On 4/05/2010, at 3:47 AM, Eli Barzilay wrote:
> On May 4, Samuel Williams wrote:
>> Dear Eli,
>>
>> Thanks for your insightful response and the encoded examples.
>>
>> I'm starting to get the feeling that it isn't possible to print to
>> stdout in Scheme? Is this the case?
>
> No, you can use the `printf' function. In the C-like version of my
> code, the last expression
>
> (for/list ([(door i) (in-indexed (in-vector doors))] #:when door)
> (+ i 1))
>
> collects the list of open doors -- and if you *really* want to make
> that part be identical to the C code too, use this instead:
>
> (for ([(door i) (in-indexed (in-vector doors))])
> (printf "Door #~a is ~a.\n" (+ i 1) (if door "open" "closed" )))
>
> But as several people said -- code that prints a list is much less
> useful than code that returns a list.
>
> --
> ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
> http://barzilay.org/ Maze is Life!