Книга: ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ПРОЛОГ
var(X)
var(X)
Целевое утверждение var(X) согласуется с базой данных, если на текущий момент X является неконкретизированной переменной. Таким образом, возможен следующий диалог:
?- var(X).
да
?- var(23).
нет
?- X = Y, Y = 23, var(X).
нет
Неконкретизированная переменная может представлять часть некоторой структуры, которая еще не полностью заполнена. Примерами могут служить неотмеченные клетки на доске для игры в крестики-нолики, рассмотренной в разд. 4.3.3, и незаполненные части упорядоченного дерева, представляющего словарь в разд. 7.1. При работе с такими структурами предикат var очень, полезен при определении, являются ли некоторые части структуры уже заполненными или нет. Это может предотвратить «случайную» конкретизацию переменной при попытке анализа ее значения. Например, при работе со словарем, представленным в виде упорядоченного дерева, может потребоваться узнать, имеется ли уже вход для некоторого ключа, не создавая такой вход в случае его отсутствия. При игре в крестики-нолики может возникнуть необходимость определить, занята или нет некоторая клетка. Попытка сопоставить неконкретизированную переменную с «о» или «х» привела бы просто к тому, что соответствующий символ был бы помещен в клетку, соответствующую переменной.
- 8.5.2 Typical Condition Variable Operations
- Using Double Quotes to Resolve Variables in Strings with Embedded Spaces
- Access Variable Data Files in the
- Using Environment Variables
- Perl Variables and Data Structures
- Perl Variable Types
- Special Variables
- Class and Object Variables
- Variables
- Variable Substitution
- Creating Your Own Variables
- Using Variables in Shell Scripts