4.2. Wymiana zawartości bez używania zmiennych pomocniczych

Problem

Chcemy wymienić zawartość między kilkoma zmiennymi bądź przypisać poszczególnym zmiennym wartości wybranych elementów tablicy.

Rozwiązanie

Można to osiągnąć za pomocą pojedynczej instrukcji przypisania, w której po lewej stronie operatora przypisania występuje lista zmiennych docelowych, zaś po stronie prawej — lista zmiennych źródłowych w odpowiedniej kolejności.

Oto prosta zamiana zawartości dwóch zmiennych:

a = 1
b = 2
a, b = b, a
a                                 # => 2
b                                 # => 1

I zamiana bardziej złożona:

a, b, c = :czerwony, :zielony, :niebieski
c, a, b = a, b, c
a                                 # => :zielony
b                                 # => :niebieski
c                                 # => :czerwony

W poniższym fragmencie realizowana jest dekompozycja tablicy na poszczególne elementy: ...

Get Ruby. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.