A method with an optional parameter
Besides the more obvious option of parameters with default values, that Sawa has already shown, using arrays or hashes might be handy in some cases. Both solutions preserve nil as a an argument.
1. Receive as array:
def some_func(*args) puts args.countendsome_func("x", nil)# 2
2. Send and receive as hash:
def some_func(**args) puts args.countendsome_func(a: "x", b: nil)# 2