156 lines
6.1 KiB
HTML
156 lines
6.1 KiB
HTML
<!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-стиле. При этом
|
||
"." означает текущий каталог, ".." -
|
||
родительский каталог для текущего каталога. Однако такие
|
||
имена, как <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>. В обеих формах
|
||
"." и ".." ссылаются соответственно на
|
||
текущий каталог и его предка.
|
||
</dd>
|
||
</dl>
|
||
|
||
<h2><a name="ТИЛЬДА-ПОДСТАНОВКИ"></a>"ТИЛЬДА"-ПОДСТАНОВКИ</h2>
|
||
|
||
<p> В дополнение к правилам, описанным выше, Tcl позволяет
|
||
использовать "тильда"-подстановки в стиле cshell. Если
|
||
имя файла начинается с <strong>~</strong>, за которой сразу следует
|
||
сепаратор, она заменяется на значение переменной окружения
|
||
<strong>$HOME</strong>. В противном случае символы от "тильды"
|
||
до следующего разделителя интерпретируются как имя пользователя
|
||
и заменяются на имя домашнего каталога пользователя.
|
||
</p>
|
||
|
||
<p> На Macintosh- и Windows-платформах
|
||
"тильда"-подстановки с именем пользователя не
|
||
поддерживаются. При попытке использовать такое имя файла
|
||
выдается ошибка. Однако "тильда" без имени
|
||
пользователя заменяется, как и на Unix-платформах, на значение
|
||
переменной окружения <strong>$HOME</strong>.
|
||
</p>
|
||
|
||
<h2><a name="ВОПРОСЫ ПЕРЕНОСИМОСТИ"></a>ВОПРОСЫ ПЕРЕНОСИМОСТИ</h2>
|
||
|
||
<p> При разработке переносимых приложений необходимо учитывать,
|
||
что не все файловые системы различают заглавные и прописные
|
||
буквы. Поэтому следует избегать использования имен файлов,
|
||
различающихся только регистром букв. Кроме того, необходимо
|
||
отказаться от использования символов, имеющих специальное
|
||
назначение хотя бы на одной из платформ, например,
|
||
<strong><>:"/\|</strong>. А также, если предполагается
|
||
использовать программу на Windows 3.1, необходимо учитывать, что
|
||
имена файлов при этом должны быть ограничены восемью буквами, а
|
||
расширения - тремя.<br>
|
||
</p>
|
||
</body>
|
||
</html>
|