2015-09-30 4 views
-2

Я не нашел в Интернете что-то, что конкретно отвечает на мой вопрос.Как нажимать массив на хэш в рубине

У меня есть хэш следующим образом:

hash = {[1111, 4, 20]} 

И я хочу, чтобы подтолкнуть другой массив ([3333, 2, 70]) для того, чтобы получить хэш что-то вроде:

hash = {[1111, 4, 20], [3333, 2, 70]} 

Как этого добиться?

Спасибо!

+0

Я не могу видеть, как это хэш. Где ключи и значения? –

+0

Ключи неявные. Я нуждаюсь в них, поскольку я буду итерации с помощью 'each' –

+1

Я думаю, что вы просто хотите вложенные массивы ...' [[1111, 4, 20]] << [3333, 2, 70] # [[1111, 4, 20], [3333, 2, 70]] ' – photoionized

ответ

1

То, что вы пытаетесь получить здесь, это не Хэш. Это массив массивов. Синтаксис, который вы написали, не является синтаксисом Ruby.

Чтобы добавить товар в массив, используйте <<.

Например:

array = [[1111, 4, 20]] 

Для добавления элемента вы делаете:

array << [3333, 2, 70] 

ваш массив будет:

[[1111, 4, 20], [3333, 2, 70]] 
1

Он не будет работать. Вероятно, вы захотите хранить эти массивы в другом массиве в следующем массиве:

a = [[1111, 4, 20]] 
a << [3333, 2, 70] 
=> [[1111, 4, 20], [3333, 2, 70]] 

Это то, что вы искали?

«Хэш» представляет собой набор уникальных ключей и их значений, подобный словарю. Также называемые ассоциативными массивами, они похожи на массивы, но где Array использует целые числа в качестве своего индекса, Hash позволяет использовать любой тип объекта «.

Пожалуйста, прочитайте больше о рубиновых массивов и хэшей: http://ruby-doc.org/core-2.2.0/Array.html http://ruby-doc.org/core-2.2.0/Hash.html

Смежные вопросы