Why Ruby?
Simen kjaeraas
simen.kjaras at gmail.com
Sun Dec 12 14:09:44 PST 2010
Andrei Alexandrescu <SeeWebsiteForEmail at erdani.org> wrote:
>> And one consequence of that is that contrary to what has been said, this
>> would *not* allow foreach to be implemented as a library function.
>>
>> I can appreciate the difficulty of getting the delegate's flow control
>> to be
>> handled as expected, but I think going ahead with this sugar without
>> addressing that in some way would be a mistake.
>
> Control flow inside the delegate can be addressed through a slightly
> more complicated lowering (the kind foreach already does). Probably
> break and continue should not be accepted because generally you can't
> expect all user-defined constructs to do iteration. Early returns should
> be easy to handle.
void foo( string delegate( int ) );
string bar( ) {
foo( 3; ) {
return "a"; // Does this return "a" to foo, or from bar?
}
}
--
Simen
More information about the Digitalmars-d
mailing list