5.1. Wykorzystywanie symboli jako kluczy

Podziękowania dla Bena Giddingsa

Problem

Używając hasza, chcielibyśmy poprawić jego efektywność, co podobno jest możliwe, jeśli w charakterze kluczy użyje się symboli zamiast łańcuchów.

Rozwiązanie

W sytuacji, gdy w charakterze klucza używany jest łańcuch zamknięty w apostrofy ('...'), zawsze można go zastąpić symbolem. Symbole definiuje się bądź to literalnie, rozpoczynając od dwukropka (:keyname), bądź też konwertując łańcuchy za pomocą metody String#intern.

people = Hash.new
people[:nickname] = 'Matz'
people[:language] = 'Japanese'
people['last name'.intern] = 'Matsumoto'
people[:nickname]                                              # => "Matz"
people['nickname'.intern]                                      # => "Matz"

Dyskusja

Dwa identycznie wyglądające łańcuchy ...

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.