Choice System Cross Reference
This table refers to the most recent language specification of each language. For languages that do not have a specification, the latest officially released implementation is referred to.
| Programming language | Structured if | switch/select/case | Arithmetic if | Pattern matching | ||
|---|---|---|---|---|---|---|
| then | else | else-if | ||||
| Ada | Yes | Yes | Yes | Yes | No | No |
| C/C++ | Yes | Yes | unneeded | fall-through | No | No |
| C# | Yes | Yes | unneeded | Yes | No | No |
| Eiffel | Yes | Yes | Yes | Yes | No | No |
| F# | Yes | Yes | Yes | unneeded | No | Yes |
| Fortran | Yes | Yes | Yes | Yes | Yes | No |
| Haskell | Yes | needed | unneeded | unneeded | No | Yes |
| Java | Yes | Yes | unneeded | fall-through | No | No |
| ECMAScript (JavaScript) | Yes | Yes | unneeded | fall-through | No | No |
| Oberon | Yes | Yes | Yes | Yes | No | No |
| Perl | Yes | Yes | Yes | Yes | No | No |
| PHP | Yes | Yes | Yes | fall-through | No | No |
| Pascal, Delphi | Yes | Yes | unneeded | Yes | No | No |
| Python | Yes | Yes | Yes | No | No | No |
| QuickBASIC | Yes | Yes | Yes | Yes | Yes | No |
| Ruby | Yes | Yes | Yes | Yes | No | No |
| SQL | Yes | Yes | Yes | Yes | No | No |
| Visual Basic, classic | Yes | Yes | Yes | Yes | No | No |
| Visual Basic .NET | Yes | Yes | Yes | Yes | No | No |
| Windows PowerShell | Yes | Yes | Yes | fall-through | No | No |
- ^ This refers to pattern matching as a distinct conditional construct in the programming language – as opposed to mere string pattern matching support, such as regular expression support.
- 1 2 3 4 5 The often-encountered
else ifin the C family of languages, and in Haskell, is not a language feature but a set of nested and independent if then else statements combined with a particular source code layout. However, this also means that a distinct else-if construct is not really needed in these languages. - 1 2 In Haskell and F#, a separate constant choice construct is unneeded, because the same task can be done with pattern matching.
- 1 2 SQL has two similar constructs that fulfill both roles, both introduced in SQL-92. A "searched CASE" expression CASE WHEN cond1 THEN expr1 WHEN cond2 THEN expr2 ELSE exprDflt END works like if ... else if ... else, whereas a "simple CASE" expression: CASE expr WHEN val1 THEN expr1 ELSE exprDflt END works like a switch statement. For details and examples see Case (SQL).
Read more about this topic: Conditional (computer Programming)
Famous quotes containing the words choice, system, cross and/or reference:
“If man is reduced to being nothing but a character in history, he has no other choice but to subside into the sound and fury of a completely irrational history or to endow history with the form of human reason.”
—Albert Camus (19131960)
“... in America ... children are instructed in the virtues of the system they live under, as though history had achieved a happy ending in American civics.”
—Mary McCarthy (19121989)
“I know were not saints or virgins or lunatics; we know all the lust and lavatory jokes, and most of the dirty people; we can catch buses and count our change and cross the roads and talk real sentences. But our innocence goes awfully deep, and our discreditable secret is that we dont know anything at all, and our horrid inner secret is that we dont care that we dont.”
—Dylan Thomas (19141953)
“I think, for the rest of my life, I shall refrain from looking up things. It is the most ravenous time-snatcher I know. You pull one book from the shelf, which carries a hint or a reference that sends you posthaste to another book, and that to successive others. It is incredible, the number of books you hopefully open and disappointedly close, only to take down another with the same result.”
—Carolyn Wells (18621942)