2018-02-05 17:22:04 +03:00
|
|
|
|
<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
<html>
|
|
|
|
|
<head>
|
|
|
|
|
<title>package</title>
|
|
|
|
|
</head>
|
|
|
|
|
|
|
|
|
|
<body>
|
|
|
|
|
<h1>package</h1>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<p>Команда загрузки пакетов библиотек и контроля версий.</p>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<h2>СИНТАКСИС</h2>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
|
|
|
|
<pre>
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<a href=#forget><strong>package</strong> <strong>forget</strong></a> <em>package</em>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<a href=#ifneeded><strong>package</strong> <strong>ifneeded</strong></a> <em>package</em> <em>version</em> ?<em>script</em>?
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<a href=#names><strong>package</strong> <strong>names</strong></a>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<a href=#provide><strong>package</strong> <strong>provide</strong></a> <em>package</em> ?<em>version</em>?
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<a href=#require><strong>package</strong> <strong>require</strong> ?<strong>-exact</strong>?</a> <em>package</em> ?<em>version</em>?
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<a href=#unknown><strong>package</strong> <strong>unknown</strong></a> ?<em>command</em>?
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<a href=#vcompare><strong>package</strong> <strong>vcompare</strong></a> <em>version1</em> <em>version2</em>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<a href=#versions><strong>package</strong> <strong>versions</strong></a> <em>package</em>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<a href=#vsatisfies><strong>package</strong> <strong>vsatisfies</strong></a> <em>version1</em> <em>version2</em>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<h2>ОПИСАНИЕ</h2>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<p>Команда поддерживает простую базу данных со сведениями о том,
|
|
|
|
|
какие пакеты библиотечных функций доступны для использования в
|
|
|
|
|
данном интерпретаторе, и как их загрузить в интерпретатор. Она
|
|
|
|
|
поддерживает многоверсионность пакетов и гарантирует загрузку в
|
|
|
|
|
приложение необходимой версии пакета. При этом она обеспечивает
|
|
|
|
|
контроль непротиворечивости версий. Обычно в Tcl-скриптах
|
|
|
|
|
достаточно использовать команды <strong>package</strong> <strong>require</strong> и
|
|
|
|
|
<strong>package</strong> <strong>provide</strong>. Остальные команды предназначены в
|
|
|
|
|
первую очередь для системных скриптов, которые поддерживают базу
|
|
|
|
|
данных пакетов.</p>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<p>Поведение команды <strong>package</strong> определяется ее первым
|
|
|
|
|
аргументом. Ниже описаны возможные формы команды.</p>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
|
|
|
|
<dl>
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dt><a name=forget></a><strong>package</strong> <strong>forget</strong>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
<em>package</em></dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd>Удаляет информацию о пакете из интерпретатора, включая как
|
|
|
|
|
информацию, возвращаемую командой <strong>package</strong>
|
|
|
|
|
<strong>ifneeded</strong>, так и информацию, возвращаемую командой
|
2015-10-19 13:27:31 +03:00
|
|
|
|
<strong>package</strong> <strong>provide</strong>.</dd>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dt><a name=ifneeded></a><strong>package</strong>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
<strong>ifneeded</strong> <em>package</em> <em>version</em> ?<em>script</em>?</dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd>Команда используется в системных скриптах. Если указана
|
|
|
|
|
конкретная версия и скрипт, заносит в базу данных информацию о
|
|
|
|
|
том, что соответствующая версия пакета доступна и может быть
|
|
|
|
|
загружена в интерпретатор с помощью скрипта
|
|
|
|
|
<em>script</em>. Если в базе данных уже хранится информация о
|
|
|
|
|
скрипте, она обновляется. Если скрипт не указан, возвращается
|
|
|
|
|
текущий скрипт.</dd>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dt><a name=names></a><strong>package</strong> <strong>names</strong></dt>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd>Возвращает список всех пакетов в интерпретаторе, для которых
|
|
|
|
|
известна доступная версия (заданная с помощью команды
|
|
|
|
|
<strong>package</strong> <strong>provide</strong>) или скрипт загрузки (заданный
|
|
|
|
|
командой <strong>package</strong> <strong>ifneeded</strong>).</dd>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dt><a name=provide></a><strong>package</strong> <strong>provide</strong>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
<em>package</em> ?<em>version</em>?</dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd>Команда используется для того, чтобы указать, что версия
|
|
|
|
|
<em>version</em> пакета <em>package</em> загружена в
|
|
|
|
|
интерпретатор. Если ранее была загружена другая версия,
|
|
|
|
|
возвращает ошибку. Если версия не указана, возвращает
|
|
|
|
|
загруженную версию.</dd>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dt><a name=require></a><strong>package</strong> <strong>require</strong>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
?<strong>-exact</strong>? <em>package</em> ?<em>version</em>?</dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd><p>Команда используется, если для выполнения дальнейшего
|
|
|
|
|
кода необходим библиотечный пакет <em>package</em> версии <em>
|
|
|
|
|
version</em>. Команда возвращает номер загруженной версии или
|
|
|
|
|
ошибку. Если присутствуют оба аргумента <strong>-exact</strong> и
|
|
|
|
|
<em>version</em>, то команда загружает именно указанную версию
|
|
|
|
|
(или выдает ошибку, если эта версия недоступна). Если
|
|
|
|
|
присутствует номер версии, а <strong>-exact</strong> опущено, то команда
|
|
|
|
|
загружает указанную версию или более позднюю, но с тем же
|
|
|
|
|
старшим номером версии (2.7, но не 3.1, когда указана версия
|
2015-10-19 13:27:31 +03:00
|
|
|
|
2.5).</p>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<p>Если база данных не содержит необходимой версии, а в
|
|
|
|
|
интерпретаторе определена команда для <strong>packageunknown</strong>
|
|
|
|
|
(см. ниже), то она исполняется, после чего повторно
|
|
|
|
|
проверяется доступность необходимой версии. Если версия
|
|
|
|
|
по-прежнему недоступна, команда возвращает ошибку.</p>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
</dd>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dt><a name=unknown></a><strong>package</strong> <strong>unknown</strong>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
?<em>command</em>?</dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd><p>Команда <em>последней надежды</em> при поиске необходимой
|
|
|
|
|
версии пакета. Если аргумент <em>command</em> указан, то он
|
|
|
|
|
дополняется именем пакета и версии и полученный скрипт
|
|
|
|
|
выполняется. Если версия не указана, подставляется пустая
|
|
|
|
|
строка.</p>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<p>Если аргумент <em>command</em> не указан, возвращает текущий
|
|
|
|
|
скрипт, заданный для команды <strong>package</strong>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
<strong>unknown</strong>.</p>
|
|
|
|
|
</dd>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dt><a name=vcompare></a><strong>package</strong>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
<strong>vcompare</strong> <em>version1</em> <em>version2</em></dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd>Команда сравнения версий. Возвращает <strong>-1</strong>, если
|
|
|
|
|
<em>version1</em> более ранняя версия, чем <em>version2</em>,
|
|
|
|
|
<strong>1</strong> - в противном случае, и <strong>0</strong>, если они
|
|
|
|
|
равны.</dd>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dt><a name=versions></a><strong>package</strong>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
<strong>versions</strong> <em>package</em></dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd>Возвращает список всех доступных версий пакета (информация о
|
|
|
|
|
которых занесена в базу данных с помощью команды
|
2015-10-19 13:27:31 +03:00
|
|
|
|
<strong>package</strong> <strong>ifneeded</strong>).</dd>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dt><a name=vsatisfies></a><strong>package</strong>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
<strong>vsatisfies</strong> <em>version1</em> <em>version2</em></dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd>возвращает <strong>1</strong>, если у <em>version1</em> и
|
|
|
|
|
<em>version2</em> совпадают старшие номера, а младший номер у
|
|
|
|
|
version1 не меньше, чем у <em>version2</em>, и <strong>0</strong> - в
|
|
|
|
|
противном случае.</dd>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
</dl>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<h2><a name=ИНДЕКСЫ ПАКЕТОВ></a>ИНДЕКСЫ ПАКЕТОВ</h2>
|
|
|
|
|
|
|
|
|
|
<p>Рекомендованный способ работы с пакетами в Tcl состоит в том,
|
|
|
|
|
чтобы включать в скрипты команды <a
|
|
|
|
|
href=#require><strong>package</strong> <strong>require</strong></a> и <a
|
|
|
|
|
href=#provide><strong>package</strong>
|
|
|
|
|
<strong>provide</strong></a> и использовать процедуру <strong><a
|
|
|
|
|
href=pkg_mkIndex.html>pkg_mkIndex</a></strong> (см.
|
|
|
|
|
соответствующие пункты) для создания индексных файлов для
|
|
|
|
|
пакетов. Это обеспечивает автоматическую загрузку необходимых
|
|
|
|
|
пакетов.</p>
|
|
|
|
|
|
|
|
|
|
<p>См.также <a href=close.html><strong>close</strong></a>(n), <a
|
|
|
|
|
href=filename.html><strong>filename</strong></a>(n), <a href=
|
|
|
|
|
gets.html><strong>gets</strong></a>(n), <a
|
|
|
|
|
href=read.html><strong>read</strong></a>(n), <a
|
|
|
|
|
href=puts.html><strong>puts</strong></a>(n), <a
|
|
|
|
|
href=exec.html><strong>exec</strong></a>(n).</p>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
|