parser

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

 

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

Ответ

G_Z 06.06.2016 22:25

^hash.delete(index)
Сейчас делает то же, что и
^hash.delete[index]
То есть если кто-то случайно (или умышленно, имея индексами числа) писал круглые скобки - будет обратная несовместимость.
Да, увы.
Но, по-моему, это логично (многие нативные методы требуют параметров определённого типа) и мало распространено.
Мне кажется плюсы, всё же, перевешивают минусы и лучше получить небольшую несовместимость, чем делать отдельный метод только для удаления по индексу.

Опять же, решается чуть более громоздким ^hash.delete[^hash.at($index)[key]] и не является крайне необходимым.
Может дополнить вариантом вызова как у slice - с двумя параметрами с/по?
В теории — полезно.
На практике, лично я за тринадцать лет не помню случаев, когда мне бы требовалась нарезка хеша или удаление сегментов.
А это можно сделать через ^hash.sub[ $.key1[] $.key2[] ...]
Можно, конечно.
Но я предлагал перечисление в качестве упрощения такой записи.
В общем можно, но знаю, насколько востребовано.
Rename тоже не критичен, но вставка + удаление усложняются типом значения, который нужно сохранить при вставке, и нативный метод упростил бы манипуляцию.