ruby-on-rails - языков - семь баз за семь недель pdf




В чем разница между массивами и хэшами? (3)

Из Ruby-Doc:

Массивы - это упорядоченные, целочисленные коллекции любого объекта. Индексирование массива начинается с 0, как в C или Java. Предполагается, что отрицательный индекс относится к концу массива, то есть индекс -1 указывает последний элемент массива, -2 - следующий за последним элементом массива и т. Д. Смотрите here для больше.

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

Хэши имеют значение по умолчанию, которое возвращается при доступе к ключам, которых нет в хэше. По умолчанию это значение равно нулю. Смотрите here для больше.

В чем разница между массивами и хешами в Ruby?


Массив - это упорядоченный список вещей: a, b, c, d

Хеш - это набор пар ключ / значение: у Джона есть peugeot, у Боба есть рено, у Адама есть брод.


Эти два термина "хэшированы" вместе в эти дни. Я думаю, что это так:

«Хэш» будет иметь пары ключ -> значение:

(top -> tshirt, bottom -> shorts, feet -> shoes)

И «массив» обычно будет иметь индекс:

([0]tshirt, [1]shorts, [2]shoes)

Но, правильно это или нет, вы также увидите пары с ключом -> значением, называемые «массивами».

Я думаю, что разница в основном зависит от того, когда и как вы хотите их использовать. Вы не столкнетесь с большими трудностями, называя массив хэшем или наоборот, но вы должны знать разницу.





hash