Деструктивно присвояване в аргументи на метод

Свойствата на паралелното, "деструктивно" присвояване в Ruby са приложими както за самото присвояване, така и за параметри на блокове и Proc обекти.

Валидни са, обаче, и за обикновени методи. Например, следното работи:

def foo(a, (b, c))
  [a, b, c]
end

foo :first, [:second, :third, :even_fourth]

Резултатът от горния метод ще бъде [:first, :second, :third].

Разбира се, тази техника в практиката се избягва за обикновени методи и дори при блокове се ползва рядко.

Може да прочетете повече за паралелното присвояване и отношението му към блокове и методи в тази лекция.