basics/keyword_logic_and_modifiers.rb
tests/_examples/basics/keyword_logic_and_modifiers.rb in the metorex repository.
rate = if 2 > 1
nil or
7
else
0
end
p rate
if (fee = rate - 2) and fee > 3
p fee
end
total = (tax = 4 and tax + 1)
p [total, tax]
fallback = (missing = nil or 9)
p [fallback, missing]
class Shipping; end if true
class Freight; end if false
module Billing; end unless false
def audited; :audited; end if true
def skipped; end if false
p [defined?(Shipping), defined?(Freight), defined?(Billing), defined?(skipped)]
p audited
notice = <<'.,.,'
maintenance window moves to 02:00
.,.,
p notice
p <<'-END', 2
first line
-END
Output:
7
5
[5, 4]
[9, nil]
["constant", nil, "constant", nil]
:audited
"maintenance window moves to 02:00\n"
"first line\n"
2