Skip to main content

Command Palette

Search for a command to run...

select

Published
•1 min read•View as Markdown
S

Всегда чему-то учусь!

Продолжаем работать со списком функций отладки, хотя сегодня это ещё и нетривиальная функция базы данных и интерфейс для запросов Pilog. Не случайно автор посвятил описанию select целую статью. Помимо, собственно, функции select есть ещё предикат select/3.

select - в общих чертах смоделированная по образцу команды SQL 'SELECT'. При вызове только с аргументом cls проходит по всем объектам этого класса и показывает их полное содержимое (аналогично 'SELECT from CLS'). Если за cls следуют спецификации атрибутов/значений, поиск ограничивается этими значениями (аналогично 'SELECT from CLS where VAR = VAL'). Если перед cls указано одно или несколько имен атрибутов, печатаются только эти атрибуты (вместо полного показа). Эти спецификации атрибутов также могут быть списками, тогда они будут оцениваться для извлечения связанных данных. После каждого шага ждет нажатия клавиши и завершается при нажатии ESC. Глобальная переменная This устанавливается на последний результат.

select/3 - предикат базы данных Pilog, который позволяет выполнять комбинированный поиск по +index и другим отношениям. Он принимает список переменных Pilog, список предложений генератора и произвольное количество предложений фильтра.

Чтобы не выходить за пределы установленного формата поста, лучше отослать к более детальному описанию в исходную документацию:

More from this blog

Нетривиальный Repl

Это плавный переход от eval к loop к циклам и где уместно вспомнить, что эта тема уже затрагивалась в контексте самой часто употребляемой функции for и рекурсии. Repl как функция не анонсирована в документации, но есть авторская классификация в файла...

Jul 15, 20257 min read
A

abrakadabra

195 posts

Метамоделирование как интеграция философии, лингвистики и математики на базе информатики. Анализ теорий и практик программирования. Прецеденты оптимизации.