Pattern Matching
Hash Patterns
Hash patterns match required keys and bind their values.
Hash Patterns
hash_patterns.rb
kind =
event = { kind: kind, x: 4, y: 7 }
case event
in { kind: "click", x: x, y: y }
summary = "click #{x},#{y}"
in { kind: "view" }
summary = "view event"
else
summary = "ignored"
end
puts "kind=#{kind}"
puts "summary=#{summary}"
kind =
event = { kind: kind, x: 4, y: 7 }
case event
in { kind: "click", x: x, y: y }
summary = "click #{x},#{y}"
in { kind: "view" }
summary = "view event"
else
summary = "ignored"
end
puts "kind=#{kind}"
puts "summary=#{summary}"
kind =
event = { kind: kind, x: 4, y: 7 }
case event
in { kind: "click", x: x, y: y }
summary = "click #{x},#{y}"
in { kind: "view" }
summary = "view event"
else
summary = "ignored"
end
puts "kind=#{kind}"
puts "summary=#{summary}"
hash pattern
A hash pattern can require keys and assign their values to variables.