Is there a way to make a method that can accept a parameter, but can also be called without one, in which case the parameter is regarded nil like the following?
nil
You can also use a hash as argument and have more freedom:
def print_arg(args = {}) if args.has_key?(:age) puts args[:age] end end print_arg # => print_arg(age: 35, weight: 90) # => 35