parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

$array[v0;v1;v2] - в ночных сборках

moko 19.09 02:33 / 19.09 02:33

Не с первой попытки, но получилось относительно аккуратно и без потери производительности как компиляции так и исполнения реализовать $array[v0;v1;v2].

Сделал именно так, что $array[v0;v1;v2] создаст массив из элементов v0,v1,v2, учитывая и такое мнение:
не вижу проблемы в невозможности объявления массива с одним значением.
и что синтаксис $array[;v0;v1;...] не даст объявить пустой массив, и что едва ли нужно часто определять массив с одним значением, и что реализованный вариант более интуитивно понятен. Но это обсуждаемо, поменять то, как используются заданные значения уже проще.

В плюсах реализованного варианта то, что нет никаких проблем с обратной совместимостью и вносить ее ради возможности задать например $array[v0](10){code} пока не вижу.
И раз уже есть один вариант инициализации массива, необходимость делать еще и $array[ $.[v0] $.[v1] ] вызывает сомнения - наверняка будут накладные расходы.

Осталось решить вопрос подтопика "больше массив или хеш". Пока склоняюсь к тому, чтобы сделать отдельные конструкторы, чтобы при инициализации из хеша ^array::array игнорировал ключи, а ^array::create работал только с цифровыми ключами и выдавал исключение в противном случае.