Conditional Statements

The simplest conditional statement is the if statement.

If the test expression following the if keyword is true, then the Ruby interpreter will execute the subordinate block of code. An if statement always begins with the if keyword and ends with the end keyword.

Like English, Ruby features an if-else statement:

The Ruby interpreter executes the block subordinate to else (puts "Two is even. All is well!") if 2.odd? is false. If the test expression following if were true, then the block subordinate to else would not be executed.

Unlike English, Ruby also has an if-elsif-else construction. Like if, elsif precedes a test expression. One can stack an arbitrary number of elsif statements, but there can be only one if and one else, though else is optional. if introduces the control structure, and else acts as a kind of fail-safe. The block subordinate to else is executed only if none of the prior if or elsif conditions are true. If no conditions are true and the conditional statement lacks an else block, then the entire statement evaluates to nil.

Only one subordinate block is ever executed in an if, if-else, or if-elsif-else statement. If one of the test expressions is true, then the result of its subordinate block is the result of the entire conditional statement. The interpreter skips over all subsequent code in the conditional statement and resumes execution after the end.

Ruby permits nested conditional statements, though overly nested code can be difficult to read. Note that subordinate blocks may be any number of lines. As in method definition, the result of the last line in a block is the result of the entire block.

results matching ""

    No results matching ""