Gibt es eine Programmiersprache mit besserem Ansatz für die break-Anweisungen von switch?

Es ist die gleiche Syntax in viel zu vielen Sprachen:

switch (someValue) {

  case OPTION_ONE:
  case OPTION_LIKE_ONE:
  case OPTION_ONE_SIMILAR:
    doSomeStuff1();
    break; // EXIT the switch

  case OPTION_TWO_WITH_PRE_ACTION:
    doPreActionStuff2();
    // the default is to CONTINUE to next case

  case OPTION_TWO:
    doSomeStuff2();
    break; // EXIT the switch

  case OPTION_THREE:
    doSomeStuff3();
    break; // EXIT the switch

}

Now alles, was Sie wissen, dassbreak -Anweisungen sind erforderlich, da dasswitch geht weiter zum nächstencase wannbreak -Anweisung fehlt. Wir haben ein Beispiel dafür mitOPTION_LIKE_ONE, OPTION_ONE_SIMILAR undOPTION_TWO_WITH_PRE_ACTION. Das Problem ist, dass wir diesen "Sprung zum nächsten Fall" nur sehr sehr sehr selten brauchen. Und sehr oft setzen wir Pause am Ende voncase.

s ist sehr einfach für einen Anfänger, es zu vergessen. Und einer meiner C-Lehrer hat es uns sogar erklärt, als wäre es ein Fehler in der C-Sprache (ich möchte nicht darüber sprechen:)

Ich möchte fragen, ob es andere Sprachen gibt, die ich nicht kenne (oder die ich vergessen habe), die Schalter / Fall wie folgt behandeln:

switch (someValue) {

  case OPTION_ONE:  continue; // CONTINUE to next case
  case OPTION_LIKE_ONE:  continue; // CONTINUE to next case
  case OPTION_ONE_SIMILAR:
    doSomeStuff1();
    // the default is to EXIT the switch

  case OPTION_TWO_WITH_PRE_ACTION:
    doPreActionStuff2();
    continue; // CONTINUE to next case

  case OPTION_TWO:
    doSomeStuff2();
    // the default is to EXIT the switch

  case OPTION_THREE:
    doSomeStuff3();
    // the default is to EXIT the switch

}

Die zweite Frage: Gibt es eine historische Bedeutung dafür, warum es in C so ist? Kann es sein, dass der nächste Fall weitaus häufiger verwendet wurde, als wir ihn heutzutage verwenden?

Antworten auf die Frage(34)

Ihre Antwort auf die Frage