parser

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

 

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

Ответ

Misha v.3 13.08.2004 14:43

для выбраного механизма хранения данных код нормальный. поправить можно разве что мелочи:
- описать локальные переменные
- убрать ненужные промежуточные переменные:
$str[$recept_list.sostav_id]
$str_spl[^str.split[,]] 
->
$str_spl[^recept_list.sostav_id.split[,]] 
и
Состав:
 ^str_spl.menu{
  $comp_name[$comp_hash.[$str_spl.piece].name]
#Определяем когда вывести точку
  ^if(^str_spl.line[]==^str_spl.count[]){
   ${comp_name}.
  }{
   $comp_name,
  }
->
 Состав: ^str_spl.menu{$comp_hash.[$str_spl.piece].name}[, ].
- можно добавить периодический (например через каждые 100 итераций) ^memory:compact[], т.к. кучка split в menu отжирает память.

другое дело что хранить таким образом связи не есть хорошо. при переходе от текстовых файлов к БД у вас останется это наследие, и вы так-же будете вынуждены делать split в menu, что плохо.