А теперь придумай как делать вместо ^table.locate[] лукап в хеше...
Misha v.3 13.08.2002 10:13
Лукап в хеше работает быстрее, чем locate в таблице.
И если в твоем случае все равно, т.к. записей немного, то в некоторых задачах оно дает существенный выигрыш.
Тебе надо:
Вариант 1:
1. из $files сделать хеш (когда данные достаются из базы можно сразу доставать хеш, а не таблицу)
2. ^if(^files.locate[1;$before.name]){} поменять на: ^if(^filesHash.[$before.name]){}
Вариант 2:
1. из $files сделать хеш
2. в $before доставать сразу хеш
3. посмотреть на операторы ^hashA.union[hashB]
4. вывести результат с помощью ^foreach[]{}...
:)
Еще раз повторюсь: для этой задачи в принципе ничего большего и не надо, но... в будущем может пригодиться.