Skip to content

Latest commit

 

History

History
41 lines (30 loc) · 1.88 KB

tables.md

File metadata and controls

41 lines (30 loc) · 1.88 KB

Двумерни масиви (таблици)

Да разгледаме следните три списъка:

gems      = ["ruby", "diamond", "sapphire"]
fruits    = ["apple", "orange", "pear"]
furniture = ["table", "chair", "desk"]

За да вземем втория елемент от масива gems, например, ще използваме gems[1], което ще ни даде "diamond".

Да разгледаме сега следния списък:

stuff = [gems, fruits, furniture]

Също както горните списъци, този е с 3 елемента. Но тук го има интересния детайл, че всеки един елемент от списъците е също списък. Това означава, че можем да достъпим елемент от него, като използваме например stuff[2]. Това ще ни даде ["table", "chair", "desk"]. Но след това, можем от тази стойност да достъпим елемент, продължавайки израза с още едно [1]. Тоест: stuff[2][1] ще ни даде втория елемент на третия списък, а именно "chair".

Нищо не ни пречи и да напишем таблицата така:

stuff = [
  ["ruby", "diamond", "sapphire"],
  ["apple", "orange", "pear"],
  ["table", "chair", "desk"]
]

Нищо не ни пречи и да дефинираме таблица, в която не всеки ред има един и същ брой елементи:

stuff = [
  ["ruby", "diamond", "sapphire", "topaz"],
  ["apple", "orange"],
  ["table", "chair", "desk"]
]

Тук ще можем да достъпим stuff[0][3] (което ще даде "topaz"), но stuff[1][2] ще върне nil.