Я бачу, що в Ruby (і динамічно набраних мовах загалом) дуже поширеною практикою є передача хешу, замість того, щоб оголошувати конкретні параметри методу. Наприклад, замість того, щоб оголошувати метод з параметрами і викликати його так:
def my_method(width, height, show_border)
my_method(400, 50, false)
Ви можете зробити це таким чином:
def my_method(options)
my_method({"width" => 400, "height" => 50, "show_border" => false})
Я хотів би знати вашу думку щодо цього. Це хороша чи погана практика, робити ми це чи ні? У якій ситуації застосовується ця практика, і яка ситуація може бути небезпечною?
{width => 400, height => 50, show_border => false}
неприпустимий синтаксис рубіну. Думаю, ви маєте на увазі{:width => 400, :height => 50, :show_border => false}
або{width: 400, height: 50, show_border: false}
(останнє діє лише в ruby 1.9.1)