2014-10-31 2 views
-2

У меня есть этот код:массив внутри Hash - Некоторые вопросы

a = {} 
a["First"] = [true, false] 
  1. Как я могу читать "ложь"? Пробовал: ["First"][2], но вывод пуст;
  2. Как проверить, существует ли [«Second»] или длина его массива> 0? Протестировано if a["Second"] is nil end или if a["Second"].value.length>0, но оба они кажутся неправильными;
  3. Как я могу нажать/поместить новое «истинное» значение внутри существующего массива a["First"]?
  4. Как я могу удалить из a индекс ["First"]? (например, a.pop["First"])

Помогите мне?

+1

если. вы хотите прочитать false, вы должны сделать [«Первый»] [1], а не [«Первый»] [2] –

+0

Правильно! Моя вина ... -3 идти! Спасибо – markzzz

+1

a ["First"] = a ["First"]. Push ('else'), чтобы нажать значение –

ответ

2

Рубин массивы 0 на основе так что элементы равны 0 и 1; там нет 2. Использование: a["First"][1]

a["Second"].nil? истинно, если нет «второго» элемента хэша. Используйте size, чтобы получить длину массива, поэтому: a["Second"].size, как только вы знаете, что существует «второе».

Использование: a["First"].push true

Использование: [ "Первый"] поп

(a["First"] получает вас в массив; a само по себе хэш состоит из двух массивов.)

0

объединяющие все комментарии:

, если вы хотите читать ложь, вы должны сделать a["First"][1] не a["First"][2]

a["First"].push('else') нажать значение,

a.delete("First") 
Смежные вопросы