Ruby conditionals: Difference between revisions
From wikinotes
No edit summary |
(→Case) |
||
Line 36: | Line 36: | ||
<source lang="ruby"> | <source lang="ruby"> | ||
case capacity | case capacity | ||
when 0 | when 0 # exact match | ||
" | "..." | ||
when 71..100 | when 50, 100 # either match | ||
" | "..." | ||
when /\AC/ | when 71..100 # within range | ||
" | "..." | ||
when /\AC/ # matches regex | |||
"..." | |||
when String # when instance of class | |||
"..." | |||
else | else | ||
"Error: capacity has an invalid value (#{capacity})" | "Error: capacity has an invalid value (#{capacity})" |
Latest revision as of 15:50, 14 May 2022
If Statement
if platform == "linux" puts "is linux" elsif platform =~ /^win/ # if `platform` matches regex /^win/ puts "is windows variant" else puts "not linux or windows" endif 1 == 1 then puts "equal!" else puts "not equal" end
Unless
unless platform == "FreeBSD" puts "not FreeBSD" end
Case
Tests value of capacity over several conditions. Each expression is compared against the value using the
===
operator.case capacity when 0 # exact match "..." when 50, 100 # either match "..." when 71..100 # within range "..." when /\AC/ # matches regex "..." when String # when instance of class "..." else "Error: capacity has an invalid value (#{capacity})"
Ternary Operator
val = val_if_true ? condition : val_if_false