No more fall through in case statement?
S.
S at s.com
Thu Jan 3 16:15:25 PST 2008
Carlos Santander Wrote:
>
> How about using existing D syntax?
>
> switch (s[i]) {
> case ' ', '\t', '\f', '\r', '\n', '\v':
> if (inword) {
> r ~= capitalize(s[istart .. i]);
> inword = false;
> }
> break;
>
> default:
> if (!inword) {
> if (r.length)
> r ~= ' ';
> istart = i;
> inword = true;
> }
> break;
> }
This whole conversation about switch was kind of lost on me, but I have to contribute this.
I, at various times, have written code that depends on case statements falling through, while not being identical!
For example:
switch(foo)
{
case 'bob':
//Do bob stuff
//Fall through and doo bar stuff too.
case 'bar':
//Do bar stuff and exit
break;
case 'baz':
//Do some baz stuff
break;
}
Whatever is changed shouldn't break this.
More information about the Digitalmars-d
mailing list