Why Ruby?
Andrei Alexandrescu
SeeWebsiteForEmail at erdani.org
Sun Dec 12 10:50:35 PST 2010
On 12/12/10 12:36 PM, Nick Sabalausky wrote:
> "Adam D. Ruppe"<destructionator at gmail.com> wrote in message
> news:ie2sv2$2thb$1 at digitalmars.com...
>> We already have a D block syntax!
>>
>> =====
>>
>> void myfun(void delegate() lol) {
>> lol();
>> }
>>
>> void main() {
>> myfun = {
>> assert(0, "lol");
>> };
>> }
>>
>> ======
>>
>> Totally compiles. :-P
>>
>> It works with delegate arguments too!
>>
>> ========
>>
>> void myfun(void delegate(string) lol) {
>> lol("say it ");
>> }
>>
>> void main() {
>> myfun = (string what) {
>> assert(0, what ~ " lol");
>> };
>> }
>> ==========
>>
>> Whoa.
>>
>>
>>
>> (note that while I'm only a little serious here - that actually
>> looks fine to me - I don't think the language needs a change
>> here. }); doesn't bother me one bit.)
>
> I'm sure that's going to disappear when D's properties get implemented as
> intended.
Handling control flow inside the delegate (break, continue, return) adds
certain complications. Nothing impossible, but they do erode the
simplicity of the rewrite.
Andrei
More information about the Digitalmars-d
mailing list