Некоторые особенно сложные поисковые запросы могут быть выражены в
aptitude с помощью ясных целей. В обычных поисковых
выражениях не существует способа указать пакет или версию пакета, которая
проверяется в текущий момент. Например, предположим, что вы хотите найти все
пакеты P, которые зависят от другого пакета
Q, причем такие пакеты, что
Q рекомендует
P. Очевидно, вам нужно начать с термина
?depends(...)... требует некоторым образом выбрать пакеты, идентичные
тому, которому соответствует ?dependsP и Q; термины с
явными целями делают то же самое. [17]
	
Явная цель вводится термином $Sfor;:
	  Это выражение ведет себя в точности так же как
шаблон, но в шаблоне
может использоваться переменная  для того, чтобы
указывать на пакет или версию пакета, которой соответствует
шаблон. Вы можете использовать
переменную двумя способами:
	
	      Термин ?= в точности соответствует пакету или версии пакета,
обозначенным данной переменной. В частности, если соответствующий
?for-термин ограничен определённой версией, то ?= будет
соответствовать либо этой версии (если ?= ограничен), либо всему
пакету; в противном случае он будет соответствовать любой версии этого
пакета.
	    
	      См. Пример 2.2, «
		Использование термина ?=
	      » для примера того, как использовать
?=.
	    
	      Термин ?bind(переменная,
шаблон)переменной соответствует
шаблоном.
	    
	      Для терминов с ? доступно сокращение. Выражение
?bind(переменная,
?термин[(аргументы)])?.
	    переменная:термин(аргументы)
	      Пример использования ?bind см. в разделе Пример 2.3, «Использование термина ?bind».
	    
[17] 
	      Проницательные читатели заметят, что очень важно явно называть переменную в
λ-терминах, соответствующих данному термину. Типичный термин имел бы
форму «λ x
. name-equals(x,
шаблон)»; явная цель делает
x видимым в языке поиска.