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 we pretend to respect the artist at all, we must allow him his freedom of choice, in the face, in particular cases, of innumerable presumptions that the choice will not fructify. Art derives a considerable part of its beneficial exercise from flying in the face of presumptions.”
—Henry James (18431916)
“Our system is the height of absurdity, since we treat the culprit both as a child, so as to have the right to punish him, and as an adult, in order to deny him consolation.”
—Claude Lévi-Strauss (b. 1908)
“But soft, behold! lo where it comes again!
Ill cross it though it blast me. Stay, illusion!”
—William Shakespeare (15641616)
“In writing these Tales ... at long intervals, I have kept the book-unity always in mind ... with reference to its effect as part of a whole.”
—Edgar Allan Poe (18091849)