Calocybe: elsif

Beitrag lesen

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!!!