projman/hlp/ru/tcl/lsort.html

101 lines
4.8 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>lsort</title>
</head>
<body>
<h1>lsort</h1>
<p>Команда сортирует элементы списка.</p>
2015-10-19 13:27:31 +03:00
<h2>СИНТАКСИС</h2>
2015-10-19 13:27:31 +03:00
<pre>
<strong>lsort</strong> ?<em>options</em>? <em>list</em>
</pre>
<h2>ОПИСАНИЕ</h2>
2015-10-19 13:27:31 +03:00
<p>Данная команда сортирует элементы списка <em>list</em> и
возвращает новый список с уже упорядоченными элементами. По
умолчанию используется упорядочивание в порядке возрастания
символов в таблице ASCII. Кроме того, для управления процессом
сортировки в команде можно указать произвольные из перечисленных
ниже опций (допускаются уникальные сокращения).</p>
2015-10-19 13:27:31 +03:00
<dl>
<dt><strong>-ascii</strong></dt>
<dd>Упорядочивание в порядке возрастания символов в таблице
ASCII. Значение по умолчанию.</dd>
2015-10-19 13:27:31 +03:00
<dt><strong>-dictionary</strong></dt>
<dd><p>Словарный режим. Тоже, что и <strong>-ascii</strong>, но со
следующими отличиями:</p>
2015-10-19 13:27:31 +03:00
<ul>
<li>регистр не учитывается;</li>
2015-10-19 13:27:31 +03:00
<li>если две строки содержат цифры, то числа сравниваются
как целые, а не как символы ASCII.</li>
2015-10-19 13:27:31 +03:00
</ul>
<p>Например, <strong>bigBoy</strong> окажется между <strong>bigbang</strong> и <strong>
bigboy</strong>, а <strong>x10y</strong> между <strong>x9y</strong> и
2015-10-19 13:27:31 +03:00
<strong>x11y</strong>.</p>
</dd>
<dt><strong>-integer</strong></dt>
<dd>Режим целых чисел, когда все элементы списка конвертируются
в целые числа и при сравнении трактуются именно как целые
числа.</dd>
2015-10-19 13:27:31 +03:00
<dt><strong>-real</strong></dt>
<dd>Режим чисел с плавающей запятой; этот режим аналогичен
предыдущему и используется для действительных чисел.</dd>
2015-10-19 13:27:31 +03:00
<dt><strong>-command</strong> <em>command</em></dt>
<dd>Режим сортировки при помощи произвольной команды
пользователя. Для сравнения двух элементов списка выполняется
скрипт, состоящий из <em>command</em> и дополненный
соответствующими элементами списка. Скрипт должен вернуть
целое число, большее нуля, равное нулю, или меньшее нуля в
зависимости от того, считается ли первый элемент больше
второго, равен ему или меньше его.</dd>
2015-10-19 13:27:31 +03:00
<dt><strong>-increasing</strong></dt>
<dd>Сортировка в порядке возрастания (от меньших к большим).
Это значение по умолчанию.</dd>
2015-10-19 13:27:31 +03:00
<dt><strong>-decreasing</strong></dt>
<dd>Сортировка в порядке убывания (от больших к меньшим).</dd>
2015-10-19 13:27:31 +03:00
<dt><strong>-index</strong> <em>index</em></dt>
<dd><p>Эта опция может использоваться, если каждый из элементов
списка сам есть список (то есть <em>list</em> есть список
списков). Опция позволяет отсортировать список по &quot;одной
из колонок&quot;, то есть по элементам подсписков с
фиксированным индексом <em>index</em>. Значение аргумента
<em>index</em>, равное <strong>end</strong>, означает генерацию по
последнему элементу подсписков. Например, команда</p>
2015-10-19 13:27:31 +03:00
<pre>
lsort -integer -index 1 {{First 24} {Second 18} {Third 30}}
</pre>
<p>вернет <strong>{Second 18} {First 24} {Third 30}</strong>.</p>
2015-10-19 13:27:31 +03:00
<p>Эта опция значительно более эффективна для данной задачи,
чем опция <strong>-command</strong> с соответствующей процедурой
сравнения.</p>
2015-10-19 13:27:31 +03:00
</dd>
</dl>
</body>
</html>