From: Dave Thomas Date: 2003-12-30T08:39:51+09:00 Subject: Re: Question about Ruby implementation On Dec 29, 2003, at 16:22, Jamis Buck wrote: > Dave Thomas wrote: >> if (something) >> MACRO; >> else >> puts("hello"); >> >> With just {}'s around the macro, the second case wouldn't compile >> (because of the semicolon). > ah, I understand that, I think. But why have MACRO wrap its contents > in a "do{...}while(0)", instead of just "{...}"? In other words, is > there a compelling reason to do this: > See above... Compile it in your head with just the braces... Dave