Jestem nowy w Rubim i nie wiem, jak dodać nowy element do już istniejącego hasha. Na przykład najpierw konstruuję hash:
hash = {item1: 1}
po tym chcę dodać item2, więc po tym mam hash w ten sposób:
{item1: 1, item2: 2}
Nie wiem, co zrobić z haszem, czy ktoś mógłby mi pomóc?
hash.merge!(item2: 2)
do scalenia i zapisać wartość !hash.merge!(item2: 2)
działa wolniej w porównaniu dohash[:item2] = 2
sytuacji, gdy jest tylko jeden argumentJeśli chcesz dodać nowe pozycje z innego hasha - użyj
merge
metody:W Twoim konkretnym przypadku może to być:
ale nie jest rozsądne używanie go, gdy trzeba dodać tylko jeden element więcej.
Zwróć uwagę, że
merge
wartości zostaną zastąpione istniejącymi kluczami:dokładnie jak
hash[:item1] = 2
Należy również zwrócić uwagę, że
merge
metoda (oczywiście) nie wpływa na oryginalną wartość zmiennej hash - zwraca ona nowy, scalony hash. Jeśli chcesz zamienić wartość zmiennej hash, użyjmerge!
zamiast tego:źródło
hash.store (klucz, wartość) - przechowuje parę klucz-wartość w skrócie.
Przykład:
Documentation
źródło
To tak proste, jak:
źródło
hash [klucz] = wartość Kojarzy wartość podaną przez wartość z kluczem podanym przez klucz.
Z dokumentacji Rubiego: http://www.tutorialspoint.com/ruby/ruby_hashes.htm
źródło
źródło
Utwórz hash jako:
Teraz wstaw do hasha jako:
źródło
Hash.new
część niezależnie, gdyżHash[]
jest już stworzenie nowego skrótu.