Здесь нет никакой разницы для вашего случая, насколько я понимаю.
Ruby будет вызывать ваш код справа налево.
Поэтому он попытается выполнить сначала:
special_function 'param'
И тогда он присваивает результат x
.
Так что, если метод special_function
не определен, он выбросит его в method missing
и, если он каким-то образом его обработает, вернет результатнемного назад.И x
будет присвоено этому фактическому значению
PS , когда я читаю @ ne0lithic_coder, ответ выглядит так, будто я неправильно понял ваш вопрос.Вы можете увидеть эту тему: Может ли Ruby ничего не возвращать?
PPS Если вы не хотите назначать x
, в некоторых случаях вы можете попробовать:
val = special_function 'param'
x = val unless val.nil? # if val