Heinrich: elsif

Hi Leute,
Habe Frage;
Es gibt ja elsif das ist so viel ich weiss ein mittelding zwischen if und else.
In welchen Programmiersprachen gibt es das?
Ich weiss nur das es in Perl geht.
cu
Heinrich

  1. Hallo Heinrich,

    Es gibt ja elsif das ist so viel ich weiss ein mittelding zwischen if und else.

    soweit ich weiß wir elseif nach if abgefragt, und wenn das falsch ist, wird else ausgeführt. also:
    if(bedingung1){
    tuwas1;
    }
    elseif(bedingung2){
    tuwas2;
    }
    else{
    tudas wenn elseif und if nicht zutrifft
    }

    In welchen Programmiersprachen gibt es das?

    ich vermute mal, das es das in (fast) allen Sprachen gibt, zumindest in php gibt es das und in js, denke ich mal, auch.

    Grüße aus Nürnberg
    Tobias

    1. Hallo,

      ich vermute mal, das es das in (fast) allen Sprachen gibt, zumindest in php gibt es das und in js, denke ich mal, auch.

      Nicht ganz richtig. Die Funktionsweise ist in (fast) allen Programmiersprachen gleich, nur die Schreibweise ist unterschiedlich, z.B:

      PHP: elseif
      JavaScript, C: else if
      Perl: elsif
      Phyton: elif

      Gruß Markus

      --
      alles wird gut...
      1. Hallo Markus,

        PHP: elseif
        JavaScript, C: else if
        Perl: elsif
        Phyton: elif

        Bash, Make, Sh: elif :)

        Wobei die semantische Bedeutung von else if eine andere ist
        als von elsif. Semantisch ist else if das hier:

        if(expr) {
        }
        else {
          if(expr) {
          }
        }

        Gruesse,
         CK

        1. Moin moin!

          Wobei die semantische Bedeutung von else if eine andere ist
          als von elsif. Semantisch ist else if das hier:

          if(expr) {
          }
          else {
            if(expr) {
            }
          }

          Stimmt schon, wenn man's genau nimmt. Allerdings kann man dann auch nichts anderes mehr machen als mit einem elsif, von daher macht es keinen Unterschied.

          Ich denke, das elsif wurde nur fuer Sprachen eingefuehrt, die gegenueber C (kuenstliche) syntaktische Beschraenkungen haben. So sind z.B. bei Perl die geschweiften Klammern fuer if und else zwingend vorgeschrieben. Eine verkuerzte Schreibweise wie
            if (...) {
              ...
            } else if (...) {
              ...
            } else {
              ...
            }
          ist somit gar nicht moeglich; nur deswegen wurde das elsif notwendig. Beim C Preprocessor (das wo #define, #if, #elif usw. in C-Programmen aufloest) muss jedes Keyword auf eine extra Zeile geschrieben werden. Zwar waere
            #if ...
              ...
            #else
            #  if ...
                 ...
            #  else
            #  endif
            #endif
          moeglich, ist aber etwas umstaendlich, also bietet sich ein #elif an.

          Mehr Sinn sehe ich im elsif nicht.

          So long

          --
          Bier trinken fetzt!!!
          1. Hoi Calocybe,

            Stimmt schon, wenn man's genau nimmt.
            Allerdings kann man dann auch nichts anderes
            mehr machen als mit einem elsif,

            Nicht wirklich, nein :)

            von daher macht es keinen Unterschied.

            In C-aehnlichen Sprachen wohl richtig (mir faellt
            zumindest kein Gegenbeispiel ein), aber in anderen
            Sprachen muss das ja nicht so sein :)

            Ich denke, das elsif wurde nur fuer Sprachen
            eingefuehrt, die gegenueber C (kuenstliche)
            syntaktische Beschraenkungen haben.

            Denke ich auch.

            Gruesse,
             CK