digitalmars.D.bugs - [Issue 11213] New: Simplify switch case-range statement
- d-bugmail puremagic.com (49/49) Oct 09 2013 http://d.puremagic.com/issues/show_bug.cgi?id=11213
- d-bugmail puremagic.com (8/8) Oct 09 2013 http://d.puremagic.com/issues/show_bug.cgi?id=11213
- d-bugmail puremagic.com (11/11) Oct 09 2013 http://d.puremagic.com/issues/show_bug.cgi?id=11213
- d-bugmail puremagic.com (11/12) Oct 09 2013 http://d.puremagic.com/issues/show_bug.cgi?id=11213
- d-bugmail puremagic.com (17/20) Oct 10 2013 http://d.puremagic.com/issues/show_bug.cgi?id=11213
- d-bugmail puremagic.com (13/24) Oct 10 2013 http://d.puremagic.com/issues/show_bug.cgi?id=11213
- d-bugmail puremagic.com (11/11) Oct 10 2013 http://d.puremagic.com/issues/show_bug.cgi?id=11213
http://d.puremagic.com/issues/show_bug.cgi?id=11213 Summary: Simplify switch case-range statement Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: enhancement Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: andrej.mitrovich gmail.com 16:19:04 PDT --- The current case-range syntax is rather awkward and verbose: ----- import std.stdio; void main() { foreach (x; 0 .. 10) { switch (x) { case 0: .. case 4: writeln("a"); break; case 5: .. case 9: writeln("b"); break; default: } } } ----- I suggest we allow the syntax "case 0 .. 4:", e.g.: ----- switch (x) { case 0 .. 4: writeln("a"); break; case 5 .. 9: writeln("b"); break; default: } ----- -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Oct 09 2013
http://d.puremagic.com/issues/show_bug.cgi?id=11213 16:19:55 PDT --- And in fact every time I have to use a case-range statement I forget that we use this strange syntax, I always reach for "case 0 .. 4" but end up having a syntax error. Allowing it would be consistent with the rest of the language. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Oct 09 2013
http://d.puremagic.com/issues/show_bug.cgi?id=11213 rswhite4 googlemail.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rswhite4 googlemail.com Did you read that? http://dlang.org/faq.html#case_range -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Oct 09 2013
http://d.puremagic.com/issues/show_bug.cgi?id=11213 Kenji Hara <k.hara.pg gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |INVALIDhttp://dlang.org/faq.html#case_rangeAs written in the FAQ, it's intended syntax. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Oct 09 2013
http://d.puremagic.com/issues/show_bug.cgi?id=11213 monarchdodra gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |monarchdodra gmail.comAs an enhancement, I don't see why case 0 : .. case 4 : couldn't also be: case 0 .. 5; If anything, "case 0 .. 5" is more consistent with what the language does *everywhere*else*, and "case 0 : .. case 4 :" is the actual artifact that never should have existed. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------http://dlang.org/faq.html#case_rangeAs written in the FAQ, it's intended syntax.
Oct 10 2013
http://d.puremagic.com/issues/show_bug.cgi?id=11213 bearophile_hugs eml.cc changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bearophile_hugs eml.ccAs an enhancement, I don't see why case 0 : .. case 4 : couldn't also be: case 0 .. 5; If anything, "case 0 .. 5" is more consistent with what the language does *everywhere*else*, and "case 0 : .. case 4 :" is the actual artifact that never should have existed.This introduces the problem that we'll need to solve adding "[]" to iota: iota!"[]"(ubyte.min, ubyte.max) So Kenji is right. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Oct 10 2013
http://d.puremagic.com/issues/show_bug.cgi?id=11213 Andrej Mitrovic <andrej.mitrovich gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|INVALID |WONTFIX 06:23:15 PDT --- I don't buy that argument. A switch statement is special enough that inclusive semantics for the right-hand side would not be confusing. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Oct 10 2013