Challenge 1: Implicit Return with Keyword Arguments — Solution def full_name(first:, last:, middle: nil) if middle.nil? "#{first} #{last}" else "#{first} #{middle} #{last}" end end puts full_name(first: "Philip", last: "Osztromok") puts full_name(first: "Philip", middle: "James", last: "Osztromok") =begin Output: Philip Osztromok Philip James Osztromok Notes: - first: and last: have no default, so they're required keyword arguments — calling full_name without one raises an ArgumentError. - middle: defaults to nil, making it optional. - There is no return keyword anywhere in the method. The if/else block is itself an expression (Chapter 3), so its result — whichever branch ran — becomes the method's implicit return value, since it's the last (and only) expression in the method body. =end