[Mono-list] Iterator hello world.
Jonathan Pryor
jonpryor@vt.edu
07 May 2003 10:25:49 -0400
On Wed, 2003-05-07 at 04:56, Erik Bågfors wrote:
<snip content="iterator stuff"/>
Miguel can better answer the iterator question.
> In ruby you also have blocks which could be viewed as anonymous
> methods. For example you could write this
>
> DoTimes(3) {|x| print(x) }
>
> I think I read that something like that was about to show up in C#? Am I
> correct?
>
> /Erik
Anyonymous methods/closures have been proposed for the next version of
C#. It builds off the delegate mechanism -- the anonymous method is
turned into a class+function, and a delegate to the function is
returned. You can also refer to class members & local variables, as
with full closures.
The C# version of your example could be:
delegate void DoTimesBlock (int n);
public static void DoTimes (int n, DoTimesBlock b) {
for ( ; n > 0; --n)
b (n);
}
public static void Main () {
DoTimes (3, new DoTimesBlock (n) {
Console.WriteLine (n);
});
}
Of course, anonymous methods haven't been finalized, so things may
change.
- Jon