parser

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

 

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

Спасибо за код, но...

serglif 14.10.2004 06:58

Был необходим именно отбор записей таблицы, в полях которых нашлись совпадения... Сам я решил примерно так (Потом правда переделал на MySQL базу, где этот отбор перенес на стадию конструктора таблицы. Потому дословный код не сохранился, но академический интерес остался :) ):
......................................

$items[^items.select(^search_record[])]

@search_record[]
 $result[0]
 ^searchfields.$table.foreach[key;value]{
  ^questions.foreach[nkey;nvalue]{
    ^if(^items.[$value].pos[$nvalue]>-1){$result[1]}
   }
  }
Правда если необходимо вызывать процедуру, где происходит поиск, рекурсивно, то приходится дополнительно формировать хэш для передачи в процедуру @search_record[] записей таблицы по которым нужно искать, так как items при возможности рекурсивного вызова необходимо делать локальной.