Это так просто, что я не могу поверить, что это поймало меня.
def meth(id, options = "options", scope = "scope")
puts options
end
meth(1, scope = "meh")
-> "meh"
Я предпочитаю использовать хеши для аргументов только потому, что это было так, как это сделал стад, и это довольно чисто. Я думал, что это стандарт. Сегодня, примерно через 3 часа охоты за ошибками, я проследил за ошибкой этот камень, который я использую, что предполагает, что именованные параметры будут выполнены. Это не так.
Итак, мой вопрос заключается в следующем: Явлен ли параметр, официально не удостоенный в Ruby (1.9.3), или это побочный эффект от чего-то, чего я не вижу? Если это не так, почему бы и нет?