parser

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

 

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

Ответ

G_Z 17.10 06:19 / 17.10 06:21

Предлагаю такой вариант: текущий create переименовываем в copy, текущий new переименовываем в create.
Да, так, на мой взгляд, лучше.
Только над copy в этом контексте я бы ещё подумал, хоть и копирующий конструктор.
По-моему создание массива в коде — самая частая операция.

Для которой мы сделали отдельный синтаксис $a[v1;v2;v3], который покрывает мне кажется 90% реальных случаев.
Да, но только для строк и объектов.
^хеш_a.union[хеш_b]? Если нужно что-то другое - скажи, метод добавить дело нехитрое.
Нет-нет, дело не в методе.

Давным-давно с Мишей обсуждали конструкцию (не могу сходу найти обсуждение), пришли к выводу, что нереализуемо.
Но всё равно печально, что нельзя легко объединять литеральный хеш и хеш из переменной (а в обратном порядке можно) или несколько хешей из переменных (даже с обёрткой в hash::create):
$h1[$.1[a]]
$h2[
	$.2[b]
	^hash::create[$h1]
]
# hash may not be overwritten with hash, store it to variable instead
Тут, разве, что аргументы у того же hash::create помогли бы:
$h1[$.1[a]]
$h2[^hash::create[$.2[b];$h1;…]]
Чтобы сразу сливать всё в один хеш и без побочных эффектов, как сейчас при:
$h1[$.1[a]]
$h2[
        $h1
        $.2[b]
]