parser

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

 

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

Давайте без картинок, словами...

Sumo 07.06.2016 09:31 / 07.06.2016 09:41

Читаем буквально как написано:
^h1.add[$h2][$.before[first]] — в хеш h1 добавить хеш h2 перед первым элементом.
^h1.add[$h2][$.after[last]] — в хеш h1 добавить хеш h2 после последнего элемента. Это тоже самое, что и ^h1.add[$h2].
^h1.add[$h2][$.before(10)] — в хеш h1 добавить хеш h2 перед десятым элементом.
^h1.add[$h2][$.after(15)] — в хеш h1 добавить хеш h2 после пятнадцатого элемента.

Эти строки читаются однозначно и понятно. Четко понятно куда и что вставляется. Если в хеше уже есть одноименные ключи, то они будут удалены перед вставкой, потому что в хеше нельзя хранить одноименные ключи — это фундаментальное ограничение этой структуры данных. Порядок ключей — свойство вторичное и ограничением не является. Поэтому порядок может меняться.

Поэтому семантика операции add однозначная. Суть структуры данных не меняет.

p.s. Давайте вопрос семантики закроем.