$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 работал только с цифровыми ключами и выдавал исключение в противном случае.
- $array[v0;v1;v2] - в ночных сборках, moko [M] 19.09 02:33 / 19.09 02:33