projman/hlp/ru/tcl/history.html

134 lines
7.4 KiB
HTML
Raw Normal View History

<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN>
2015-10-19 13:27:31 +03:00
<html>
<head>
<title>history</title>
</head>
<body>
<h1>history</h1>
<p>Команда работает со списком выполнявшихся команд.</p>
2015-10-19 13:27:31 +03:00
<h2>СИНТАКСИС</h2>
2015-10-19 13:27:31 +03:00
<pre>
<strong>history</strong> ?<em>option</em>? ?<em>arg</em> <em>arg</em>
</pre>
<h2>ОПИСАНИЕ</h2>
2015-10-19 13:27:31 +03:00
<p> Команда <strong>history</strong> выполняет действия по отношению к
недавно выполненным командам, занесенным в журнал. Каждая из
этих зарегистрированных команд обозначается термином
&quot;событие&quot;. Ссылаться на события в команде
<strong>history</strong> можно одним из следующих способов:</p>
2015-10-19 13:27:31 +03:00
<ol>
<li><em>Число</em>. Если положительное - ссылается на событие с
этим номером (все события нумеруются начиная с 1). Если число
отрицательное, то оно указывает номер события относительно
текущего (<strong>-1</strong> - предыдущее, <strong>-2</strong> - перед предыдущим
и т.д.). Событие <strong>0</strong> ссылается на текущее событие.</li>
<li><em>Строка</em>. Ссылается на наиболее позднее событие,
которое удовлетворяет строке. Событие удовлетворяет строке,
если оно начинается со строки, или в соответствии с правилами
команды <strong>string match</strong>.</li>
2015-10-19 13:27:31 +03:00
</ol>
<p>Команда <strong>history</strong> может принимать одну из следующих
форм.</p>
2015-10-19 13:27:31 +03:00
<dl>
<dt><strong>history</strong></dt>
<dd> То же самое, что команда <strong>history info</strong>, описанная
ниже. </dd>
2015-10-19 13:27:31 +03:00
<dt><strong>history</strong> <strong>add</strong> <em>command</em> ?<em>exec</em>? </dt>
<dd> Добавляет аргумент <em>command</em> в журнал как новое
событие. Если присутствует аргумент <strong><a href=
exec.html>exec</a></strong>(или произвольное сокращение), то
команда <em>command</em> выполняется и возвращается ее
результат. В противном случае возвращается пустая строка.
2015-10-19 13:27:31 +03:00
</dd>
<dt><strong>history</strong> <strong>change</strong> <em>newValue</em>
?<em>event</em>?</dt>
<dd> Заменяет описание события <em>event</em> на <em>newValue</em>.
Аргумент <em>event</em> определяет событие, описание которого
будет заменено. По умолчанию - текущее событие (даже не
предыдущее!). Эта форма команды предназначается для
использования в тех случаях, когда переформировывается журнал
событий и позволяет заменить текущее событие (переформирование
журнала) на необходимое. Команда возвращает пустую строку.
2015-10-19 13:27:31 +03:00
</dd>
<dt> <strong>history</strong> <strong>clear</strong> </dt>
<dd> Удаляет журнал событий. Количество запоминаемых событий
(см. <strong>history</strong> <strong>keep</strong>) сохраняется. Нумерация
событий начинается сначала.
2015-10-19 13:27:31 +03:00
</dd>
<dt><strong>history</strong> <strong>event</strong> ?<em>event</em>?</dt>
<dd> Возвращает описания события <em>event</em>. Значение по
умолчанию <strong>-1.</strong>
2015-10-19 13:27:31 +03:00
</dd>
<dt> <strong>history</strong> <strong>info</strong> ?<em>count</em>? </dt>
<dd> Возвращает в удобном для чтения виде список, состоящий из
номеров и описаний событий (кроме текущего). Если аргумент
<em>count</em> задан, то только <em>count</em> последних событий
возвращаются.
2015-10-19 13:27:31 +03:00
</dd>
<dt> <strong>history</strong> <strong>keep</strong> ?<em>count</em>? </dt>
<dd> Команда изменяет размер журнала на <em>count</em> событий.
Исходно в журнале сохраняются 20 последних событий. Если
аргумент <em>count</em> не указан, команда возвращает текущее
значение размера журнала.
2015-10-19 13:27:31 +03:00
</dd>
<dt> <strong>history</strong> <strong>nextid</strong> </dt>
<dd> Возвращает номер следующего события, которое будет записано
в журнал. Полезно, например, для вывода номера события в
приглашении командной строки.
2015-10-19 13:27:31 +03:00
</dd>
<dt> <strong>history</strong> <strong>redo</strong> ?<em>event</em>? </dt>
<dd> Повторно выполняет команду, указанную с помощью аргумента
<em>event</em>. Значение аргумента по умолчанию <strong>-1</strong>. Эта
команда вызывает переформирование журнала, см. <a href=
#ПЕРЕФОРМИРОВАНИЕ>ниже</a>.
2015-10-19 13:27:31 +03:00
<dd>
</dl>
<h2><a name=ПЕРЕФОРМИРОВАНИЕ></a>ПЕРЕФОРМИРОВАНИЕ ЖУРНАЛА</h2>
2015-10-19 13:27:31 +03:00
<p> До версии 8.0 Tcl имел весьма сложный механизм
переформирования журнала. Новый механизм несколько сокращен за
счет старых опций <strong>substitute</strong> и <strong>words</strong>. (Взамен
добавлена новая опция <strong>clear</strong>).
<p>Опция <strong>redo</strong> позволяет переформировывать журнал
значительно проще. При ее выполнении последнее событие
изменяется таким образом, что удаляется &quot;служебная&quot;
команда <strong>history</strong>, которая реально выполнялась, а вместо
нее записывается та команда, которая необходима.</p>
<p>Если вы хотите повторить прежнюю команду, не модифицируя
журнал, выполните сначала команду <strong>history event</strong>, чтобы
извлечь описание команды, а затем <strong>history add</strong>, чтобы
выполнить ее.</p>
2015-10-19 13:27:31 +03:00
</body>
</html>