Построение дерева из списка ID-Parent

Поскольку данная задача возникает у разработчиков довольно часто, хотел бы поделиться простым и эффективным решением. Всё, что нам потребуется — это исходный массив примерно такого вида:

$listIdParent = array(
  1 => array('parent' => 0),
  2 => array('parent' => 1),
  3 => array('parent' => 1),
  4 => array('parent' => 2),
  5 => array('parent' => 4)
);

Продолжить чтение «Построение дерева из списка ID-Parent»

Массивы в Руби

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

Массивы(arrays) и хэши(hashes) в Ruby

Массивы (arrays) в Ruby — набор проиндексированных элементов. Индексация начинается с нуля [0].
Ассоциативных массивов в Ruby нет.
Хэши(hashes) в Ruby — набор элементов в виде [ключ] => «значение»

Как видно на картинке, массивы и хэши очень похожи, основные различия между ними:
1) ключ в хэше вы выбираете сами, а в массиве ключом является индекс
2) вытекает из первого — элементы хэша не отсортированы в отличие от массивов

Как в массивах не может быть двух элементов с одинаковым индексом, так и в хэше не может быть двух элементов с одинаковым ключом.
Продолжить чтение «Массивы в Руби»