55 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			55 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | ||
|  | title: Ruby Conditionals | ||
|  | --- | ||
|  | Ruby has several commonly used conditionals. | ||
|  | 
 | ||
|  | ## If Statements
 | ||
|  | An extremely common conditional in many programming languages, the statement tests if the condition is true, then branches into the specified action. An if statement consists of one `if`, | ||
|  | any number of `elsif` and at most one `else` statement. | ||
|  | *   ```ruby | ||
|  |     fruit = :apple | ||
|  |      | ||
|  |     if fruit == :apple | ||
|  |       puts "Your fruit is an apple" | ||
|  |     elsif fruit == :orange | ||
|  |       puts "Your fruit is an orange" | ||
|  |     else | ||
|  |       puts "This is not an apple or an orange" | ||
|  |     end | ||
|  |     ``` | ||
|  | 
 | ||
|  | ### Unless statement
 | ||
|  | An unless statement is the opposite of an if statement. It is the same as a negated if statement. | ||
|  | *   ```ruby | ||
|  |     happy = true | ||
|  |     if !happy | ||
|  |       puts "This person is not happy" | ||
|  |     end | ||
|  |     ``` | ||
|  | The above statement equal to the statement below | ||
|  | *   ```ruby | ||
|  |     unless happy | ||
|  |       puts "This person is not happy" | ||
|  |     end | ||
|  |     ``` | ||
|  | ## Ternary Statement
 | ||
|  | A ternary statement is used as a short conditional statement. It is written as follows | ||
|  | *   ```ruby | ||
|  |     game = "won" | ||
|  |     fans = game == "won" ? "happy" : unhappy | ||
|  |     fans # => "happy" | ||
|  |     ``` | ||
|  | ## Case Statement
 | ||
|  | A case statement is similar to an if/elsif/else statement | ||
|  | *   ```ruby | ||
|  |     fruit = :apple | ||
|  |      | ||
|  |     case fruit | ||
|  |     when :apple | ||
|  |       puts "Your fruit is an apple" | ||
|  |     when :orange | ||
|  |       puts "Your fruit is an orange" | ||
|  |     else | ||
|  |       puts "This is not an apple or an orange" | ||
|  |     end | ||
|  |     ``` |