Есть ли способ сделать метод, который может принимать параметр, но также может быть вызван без одного, и в этом случае параметр считается nil следующим образом:
some_func(variable)
some_func
Ответ 1
def some_func(variable = nil)
...
end
Ответ 2
Помимо более очевидной опции параметров со значениями по умолчанию, которые Sawa уже показал, использование массивов или хешей может быть удобно в некоторых случаях. Оба решения сохраняют nil как аргумент.
1. Получать как массив:
def some_func(*args)
puts args.count
end
some_func("x", nil)
# 2