parser

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

 

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

OK, закоммитил create -> copy, new -> create

moko 18.10 04:54

Да, так, на мой взгляд, лучше.
Только над copy в этом контексте я бы ещё подумал, хоть и копирующий конструктор.
Меня скорее смущает, что поведение ^array::create[$hash] и ^array::create[$array] не очень интуитивное. Но с другой стороны оно соответствует поведению $a[$hash;$array], поэтому так все-таки правильнее. Закоммитил, в ночных сборках (кроме Windows) уже такая версия.
что нереализуемо.
Я бы так не сказал. Любое исключение это прям идеальный случай для изменения поведения, поскольку точно не будет проблем с обратной совместимостью. :) Более того, и с производительностью не может быть проблем, поскольку исключение едва ли будет "проходным местом". Что касается конкретного случая:
$h1[$.1[a]]
$h2[$.2[b]]
$hN[
        ^hash::create[$h1]
        $.2[b]
]
#а вот такое:
$hN[
        ^hash::create[$h1]
        $h2
]
#по сути эквивалентно такому?
$hN[^hash::create[$h1]]
^hN.add[$h2]
Можно без проблем заменить исключение на ^hN.add[$h2], надо только оговорить границы. То, куда записывается - только хеш или и объект например тоже? А то, что записывается?
Ну и решить насколько это вообще нужно. Экономия кода получается только если такую конструкцию использовать в параметрах метода при вызове.