Results 1 to 5 of 5

Thread: switch-Struktur

  1. #1
    Senior Member
    Join Date
    Nov 2011
    Posts
    150

    switch-Struktur

    Es wäre echt SEHR hilfreich mal eine switch-Struktur, wie auch aus anderen Programmiersprachen bekannt, einzubauen:


    Code:
    switch(variable)
    {
    case a:
    tuwas();
    break;
    case b:
    tuwasanderes();
    break;
    default:
    tunochwasanderes();
    }

    Ich bedanke mich im Voraus bei dem Admin, der sich mal kurz darum kümmern wird

    lg
    Elchi
    Gelb und grau - Proximo ist schlau,
    Proxi ist ein Held, gebt ihm euer Geld,
    Ihr seid alle dumm und meckert doch nur rum,
    seid nicht so unfair, sonst bekommt ihr keine Updates mehr

  2. #2

    Re: switch-Struktur

    das kannste auch mit "if else" machen

    Code:
    if(variable=a) {
    tuwas();
    } elseif(variable=b) {
    tuwasanderes();
    } else {
    tunochwasanderes();
    }

  3. #3
    Senior Member
    Join Date
    Nov 2011
    Posts
    150

    Re: switch-Struktur

    kann man. Aber

    1. macht das den Code unübersichtlich und

    2. es ist auf Laufzeitebene langsamer als switch

    lg
    Elchi
    Gelb und grau - Proximo ist schlau,
    Proxi ist ein Held, gebt ihm euer Geld,
    Ihr seid alle dumm und meckert doch nur rum,
    seid nicht so unfair, sonst bekommt ihr keine Updates mehr

  4. #4

    Re: switch-Struktur

    es ist nicht langsamer
    switch case ist nur ein spezialfall einer if else verschachtelung (s.o.)
    intern ist ein switch case nix anderes als ein if else
    es wird nur anders dargestellt um es übersichtlicher zumachen

    es ist nur eine komfort-/übersichtssache die dann von vll 20-30 scriptproggern in stne vll nur 5 oder weniger nutzen und das auch nur selten
    und das obwohl man es mit vorhandenen mitteln(if else) genauso lösen
    und dafür sollen die progger den scriptparser umschreiben?
    ich denk mal es wäre etwas zu umständlich/zeitintensiv den eh schon verbuggten scriptparser umzuschreiben

    g
    four

  5. #5

    Re: switch-Struktur

    Doch, ist normalerweise schneller, da compiler switch-case-anweisungen in eine hashtable übersetzen können wenn viele cases definiert sind, über die schneller zu den Sprunganweisungen gelangt werden kann.
    If - else müssen normalerweise tatsächlich Fall für Fall geprüft werden, was bei vielen Anweisungen potentiell wesentlich länger dauert, da der Compiler meist nicht davon ausgehen kann, dass der Wert, der verglichen wird sich nicht zwischen den Vergleichen ändert und sich daher mit dem optimieren eher schwer tut...
    Hängt dann aber auch vom jeweiligen Fall ab, wenn zu 99% einer der ersten 2-3 von 20 Vergleiche stimmen würde wäre ein if-else (durchschnittlich) meist schneller als ein optimierter switch case...

    In der STNE-Scriptengine dürfte das aber eher zu vernachlässigen sein...
    Sollte ein Progger einmal zu wenig anderes zu tun haben könnten wir es einbauen, momentan steht aber leider noch viel anderes höher auf der ToDO

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •