zaagan
12/29/2019 - 9:55 AM

Ruby Basics - Lambdas

Ruby Basics - Lambdas

# Ways to define a lambda
type_1_less_than_5 = lambda { |price| price < 5 }
# OR
type_2__less_than_5 = -> price { price < 5 }
# OR
type_3__less_than_5 = -> (price) { price < 5 }

# Invoking
p type_1_less_than_5.call(4) # > true
p type_1_less_than_5.=== 4 # > true
p type_2__less_than_5[4] # > true
p type_3__less_than_5.(4) # > true

# Multiple arguments
cheapest = -> price1, price2 { [price1, price2].min }
p cheapest.call(22,24) # > 22
p cheapest[22,24] # > 22