Я новичок в Ruby и не знаю, как добавить новый элемент в уже существующий хэш. Например, сначала я строю хэш:
hash = {item1: 1}
после этого хочу добавить item2, так что после этого у меня есть хэш, как это:
{item1: 1, item2: 2}
Я не знаю, какой метод делать с хэшем, кто-нибудь может мне помочь?
hash.merge!(item2: 2)
для объединения и сохранения значения !hash.merge!(item2: 2)
работает медленнее по сравнению с тем,hash[:item2] = 2
когда есть только один аргументЕсли вы хотите добавить новые элементы из другого хэша - используйте
merge
метод:В вашем конкретном случае это может быть:
но не стоит использовать его, когда нужно добавить еще один элемент.
Обратите внимание, что
merge
заменит значения на существующие ключи:в точности как
hash[:item1] = 2
Также следует обратить внимание, что
merge
метод (конечно) не влияет на исходное значение хеш-переменной - он возвращает новый объединенный хеш. Если вы хотите заменить значение хеш-переменной, используйтеmerge!
вместо этого:источник
hash.store (key, value) - хранит пару ключ-значение в хэше.
Пример:
Documentation
источник
Это так просто, как:
источник
hash [ключ] = значение Связывает значение, заданное значением, с ключом, заданным ключом.
Из документации Ruby: http://www.tutorialspoint.com/ruby/ruby_hashes.htm
источник
источник
Создать хеш как:
Теперь вставьте в хеш как:
источник
Hash.new
часть независимо, потому чтоHash[]
уже создает новый хэш.