projman/hlp/ru/tcl/history.html
2018-02-05 17:23:37 +03:00

134 lines
7.4 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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