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:
“By choice they made themselves immune
To pity and whatever moans in man
Before the last sea and the hapless stars;
Whatever mourns when many leave these shores;
Whatever shares
The eternal reciprocity of tears.”
—Wilfred Owen (18931918)
“He is not a true man of science who does not bring some sympathy to his studies, and expect to learn something by behavior as well as by application. It is childish to rest in the discovery of mere coincidences, or of partial and extraneous laws. The study of geometry is a petty and idle exercise of the mind, if it is applied to no larger system than the starry one.”
—Henry David Thoreau (18171862)
“She remembered home as a place where there were always too many children, a cross man and work piling up around a sick woman.”
—Willa Cather (18731947)
“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)