projman/hlp/ru/tcl/filename.html
2015-10-19 14:27:31 +04:00

156 lines
6.1 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>filename</title>
</head>
<body>
<h1>filename</h1>
<p> Правила именования файлов в Tcl. </p>
<h2><a name="ВВЕДЕНИЕ"></a>ВВЕДЕНИЕ</h2>
<p> Все команды Tcl и процедуры С, использующие имена файлов в
качестве аргументов, позволяют использовать имена в форме,
установленной для данной платформы. Кроме того, на всех
платформах Tcl поддерживается синтаксис UNIX с целью
предоставления удобного способа составления простых имен
файлов. Тем не менее, скрипты, предназначенные для переноса
между платформами, не должны пользоваться конкретной формой имен
файлов. Вместо этого такие скрипты должны использовать команды
<a href="file.html#split"><strong>file split</strong></a> и <a
href="file.html#join"><strong>file join</strong></a> для
преобразования имен к нужной форме.
</p>
<h2><a name="ТИПЫ ПУТЕЙ"></a>ТИПЫ ПУТЕЙ</h2>
<p> Все имена файлов поделены на три типа, в зависимости от
начальной точки для отсчета пути: абсолютные, относительные и
имена внутри тома (volume-relative).</p>
<p>Абсолютные имена являются самодостаточными, они содержат полный
путь файла внутри тома и адрес корневого каталога
тома. Относительные имена являются неполными, они указывают
положение файла по отношению к текущему каталогу. Имена внутри
тома занимают промежуточное положение между первыми двумя, они
указывают положение файла относительно корневого каталога
текущего тома или относительно текущего каталога указанного
тома.</p>
<p>Для определения типа указанного пути можно использовать команду
<a href="file.html"><strong>file</strong></a> <em>pathtype</em>.</p>
<h2><a name="СИНТАКСИС ПУТЕЙ"></a>СИНТАКСИС ПУТЕЙ</h2>
<p> Пути формируются различным образом для различных платформ.
Текущая платформа определяется по значению переменной
<em>tcl_platform(platform)</em>:</p>
<dl>
<dt><strong>mac</strong></dt>
<dd> Для Macintosh-платформ Tcl поддерживает две формы
представления путей: с двоеточием, в обычном для Macintosh
стиле, и со слэшем, в Unix-стиле. Если путь не содержит
двоеточий, то он считается путем в в Unix-стиле. При этом
&quot;.&quot; означает текущий каталог, &quot;..&quot; -
родительский каталог для текущего каталога. Однако такие
имена, как <strong>/</strong> или <strong>/..</strong> считаются именами каталогов
в Macintosh-стиле. При этом команды, генерирующие имена
файлов, возвращают их в Macintosh-стиле, тогда как команды,
использующие имена файлов, могут получать их и в
Macintosh-стиле, и в Unix-стиле.
</dd>
<dt><strong>unix</strong></dt>
<dd><p>На Unix-платформах используются пути, которые содержат
компоненты, разделенные символом слэш. Пути могут быть
абсолютными или относительными, имена файлов могут содержать
любые символы, кроме слэша. Имена файлов. и. являются
специальными и обозначают текущий каталог и родительский
каталог текущего каталога, соответственно. Несколько слэшей
подряд понимаются как один разделитель.</p>
<p>Ниже приведено несколько примеров различных типов путей:
</p>
<dl>
<dt><strong>/</strong></dt>
<dd> Абсолютный путь к корневому каталогу. </dd>
<dt><strong>/etc/passwd</strong></dt>
<dd> Абсолютный путь к файлу <strong>passwd</strong> к каталогу etc в
корневом каталоге.</dd>
<dt><strong>.</strong></dt>
<dd> Относительный путь к текущему каталогу. </dd>
<dt> <strong>foo</strong></dt>
<dd> Относительный путь к файлу <strong>foo</strong> в текущем
каталоге. </dd>
<dt><strong>foo/bar</strong></dt>
<dd> Относительный путь к файлу <strong>bar</strong> в подкаталоге
<strong>foo</strong> текущего каталога</dd>
<dt><strong>../foo</strong></dt>
<dd> Относительный путь к файлу <strong>foo</strong> в каталоге над
текущим.</dd>
</dl>
</dd>
<dt> <strong>windows</strong></dt>
<dd> Для Windows-платформ Tcl поддерживает дисковые и сетевые
имена. В обоих типах имен можно использовать в качестве
разделителя как прямой, так и обратный слэш. Дисковые имена
состоят из (при необходимости) имени диска и последующего
абсолютного или относительного пути. Сетевые пути обычно имеют
вид <strong>\\servername\sharename\path\file</strong>. В обеих формах
&quot;.&quot; и &quot;..&quot; ссылаются соответственно на
текущий каталог и его предка.
</dd>
</dl>
<h2><a name="ТИЛЬДА-ПОДСТАНОВКИ"></a>"ТИЛЬДА"-ПОДСТАНОВКИ</h2>
<p> В дополнение к правилам, описанным выше, Tcl позволяет
использовать &quot;тильда&quot;-подстановки в стиле cshell. Если
имя файла начинается с <strong>~</strong>, за которой сразу следует
сепаратор, она заменяется на значение переменной окружения
<strong>$HOME</strong>. В противном случае символы от &quot;тильды&quot;
до следующего разделителя интерпретируются как имя пользователя
и заменяются на имя домашнего каталога пользователя.
</p>
<p> На Macintosh- и Windows-платформах
&quot;тильда&quot;-подстановки с именем пользователя не
поддерживаются. При попытке использовать такое имя файла
выдается ошибка. Однако &quot;тильда&quot; без имени
пользователя заменяется, как и на Unix-платформах, на значение
переменной окружения <strong>$HOME</strong>.
</p>
<h2><a name="ВОПРОСЫ ПЕРЕНОСИМОСТИ"></a>ВОПРОСЫ ПЕРЕНОСИМОСТИ</h2>
<p> При разработке переносимых приложений необходимо учитывать,
что не все файловые системы различают заглавные и прописные
буквы. Поэтому следует избегать использования имен файлов,
различающихся только регистром букв. Кроме того, необходимо
отказаться от использования символов, имеющих специальное
назначение хотя бы на одной из платформ, например,
<strong>&lt;&gt;:&quot;/\|</strong>. А также, если предполагается
использовать программу на Windows 3.1, необходимо учитывать, что
имена файлов при этом должны быть ограничены восемью буквами, а
расширения - тремя.<br>
</p>
</body>
</html>