вівторок, 10 січня 2012 р.

Іменовані аргументи функції в Ruby 2.0

В Ruby 1.9 іменовані аргументи представляють із себе просто останній аргумент з хешем, як значенням по замовчуванню, і розширення граматики, за допомогою якого ініціалізується цей хеш. Мало хто знає, що в 1.9 можна зробити метод, наприклад:
def a(opts = {}); end
і викликати його як
a(go: true, what: "string")

В trunk Ruby 2.0 додали іменовані аргументи(keyword arguments) - простий спосіб вказати такий запис при визначенні методу. Наприклад:
def step (by: step, to: limit)
  ...
end

1.step (by: 2, to: 20) do |i|
  p i
end

Немає коментарів: