5.4. Usuwanie elementów z hasza

Problem

Niektóre elementy należy z hasza usunąć.

Rozwiązanie

Najczęściej wykonywanym wariantem usuwania zawartości hasza jest usunięcie pojedynczego klucza wraz ze skojarzoną z nim zawartością. Wykonuje się to za pomocą metody Hash# delete.

h = {}
h[1] = 10
h                                          # => {1=>10}
h.delete(1)
h                                          # => {}

Dyskusja

Nie należy usuwać elementu przez kojarzenie jego klucza z wartością nil. To prawda, że standardowo nil jest wartością domyślną dla nieistniejących kluczy, jednak istnieje zasadnicza różnica między kluczem nieistniejącym a kluczem zamapowanym w wartość nil: w przeciwieństwie do nieistniejących kluczy, klucze skojarzone z wartością nil są uwzględnianie przez metody Hash#has_key?, Hash#each i wiele ...

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.