parser

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

 

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

Сложно

G_Z 04.06.2016 15:05 / 04.06.2016 15:06

Моё мнение:
# получение индекса по имени ключа, -1 если ключ не найден
^hash.index[key]

# вставка по индексу
^hash.add(index)[$.key[value]]
^hash.add[first;$.key[value]]
^hash.add[last;$.key[value]]

# удаление
^hash.delete(index)
^hash.delete(index1;index2;…)
^hash.delete[key1;key2;…]

# переименование
^hash.rename[old_key_name;new_key_name]
^hash.rename(index)[new_key_name]

# замена (опционально, то же, что delete + add)
^hash.replace[key;$.key[value]]
^hash.replace(index)[$.key[value]]
Фактически достаточно трёх доработок:
1. поддержка параметров-индексов в методах add и delete;
2. метод index для получения индекса по имени ключа;
3. метод rename для переименования ключа.

Replace и всё остальное можно будет сделать в пару строк.
Никаких опций режимов, до/после и прочего.
Есть позиция или ключ — работаем по ним.