5.2. Wartości domyślne w haszach
Podziękowania dla Bena Giddingsa
Problem
Wykorzystując hasz, nie chcemy otrzymywać wartości nil
każdorazowo, gdy odwołujemy się do nieistniejącego klucza. Chcielibyśmy w zamian otrzymywać wartość bardziej wygodną dla aplikacji, być może obliczaną dynamicznie.
Rozwiązanie
Jeżeli nie postanowimy inaczej, domyślną wartością dla nieistniejącego klucza w haszu jest nil
:
h = Hash.new h[1] # => nil h['czy ten klucz istnieje?'] # => nil
Domyślną wartość dla nieistniejącego klucza możemy zmienić na dwa sposoby. Jeśli ma być ona identyczna dla wszystkich kluczy, należy ją podać jako argument wywołania konstruktora hasza:
h = Hash.new("brak") h[1] # => "brak" h['czy ten klucz istnieje?'] # => "brak"
Jeśli natomiast ...
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.