Spec-Zone.ru › Octave 7

11.10.1 Изменение пути загрузки

При вызове функции Octave ищет файл, содержащий объявление функции, в списке каталогов. Этот список каталогов известен как путь загрузки. По умолчанию путь загрузки содержит список каталогов, поставляемых с Octave, плюс текущую рабочую директорию. Чтобы увидеть текущий путь загрузки, вызовите функцию path без входных или выходных аргументов.

Добавлять или удалять каталоги в путь загрузки можно с помощью addpath и rmpath. В качестве примера, следующий код добавляет ‘~/Octave’ в путь загрузки.

addpath ("~/Octave")

После этого каталог ‘~/Octave’ будет просматриваться при поиске функций.

: addpath (dir1, …) ¶
: addpath (dir1, …, option) ¶

Добавляет указанные каталоги в путь поиска функций.

Если option равен "-begin" или 0 (по умолчанию), то имя(на) каталога(ов) добавляется в начало текущего пути. Если option равен "-end" или 1, то имя(на) каталога(ов) добавляется в конец текущего пути. Каталоги, добавляемые в путь, должны существовать.

Помимо отдельных аргументов каталога, также принимаются списки имён каталогов, разделённых символом pathsep. Например:

addpath ("dir1:/dir2:~/dir3")

Новое добавленное направление появляется в пути загрузки в том же порядке, в котором они появляются в аргументах функции addpath. При добавлении в начало пути загрузки, последний каталог в списке аргументов добавляется первым. При добавлении в конец пути загрузки, первый каталог в списке аргументов добавляется первым.

Для каждого добавленного каталога, который ещё не был в пути, addpath проверяет существование файла с именем PKG_ADD (без расширения .m) и выполняет его, если он существует.

См. также: path, rmpath, genpath, pathdef, savepath, pathsep.

: genpath (dir) ¶
: genpath (dir, skip, …) ¶

Возвращает путь, построенный из dir и всех его подкаталогов.

Путь не включает каталоги пакетов (начинающиеся с ‘+’), каталоги классов старого стиля (начинающиеся с ‘@’), каталоги private или любые подкаталоги этих типов.

Если предоставлены дополнительные строковые параметры, результирующий путь будет исключать каталоги с этими именами.

См. также: path, addpath.

: rmpath (dir1, …) ¶

Удаляет dir1, … из текущего пути поиска функций.

Помимо отдельных аргументов каталога, также принимаются списки имён каталогов, разделённых pathsep. Например:

rmpath ("dir1:/dir2:~/dir3")

Для каждого удалённого каталога rmpath проверяет существование файла с именем PKG_DEL (без расширения .m) и выполняет его, если он существует.

См. также: path, addpath, genpath, pathdef, savepath, pathsep.

: savepath () ¶
: savepath (file) ¶
: status = savepath (…) ¶

Сохраняет уникальную часть текущего пути поиска функций, которая не устанавливается во время инициализации Octave, в file.

Если file опущен, Octave ищет в текущем каталоге файл проекта .octaverc, чтобы сохранить информацию о пути. Если такой файл отсутствует, используется конфигурационный файл пользователя ~/.octaverc.

При успешном выполнении savepath возвращает 0.

Функция savepath упрощает настройку пользовательского конфигурационного файла для восстановления необходимых рабочих путей для конкретного экземпляра Octave. При отсутствии имени файла, Octave автоматически восстановит сохранённые пути каталогов из соответствующего файла .octaverc при запуске. Если имя файла было указано, пути можно восстановить вручную, вызвав source file.

См. также: path, addpath, rmpath, genpath, pathdef.

: path () ¶
: str = path () ¶
: str = path (path1, …) ¶

Изменяет или отображает путь загрузки Octave.

Если nargin и nargout равны нулю, отображаются элементы пути загрузки Octave в удобочитаемом формате.

Если nargin равен нулю, а nargout больше нуля, возвращается текущий путь загрузки.

Если nargin больше нуля, аргументы объединяются, разделяясь символом pathsep. Внутренний путь поиска устанавливается на результат, и он возвращается.

Проверка на дубликаты элементов не выполняется.

См. также: addpath, rmpath, genpath, pathdef, savepath, pathsep.

: val = pathdef () ¶

Возвращает путь по умолчанию для Octave.

Информация о пути извлекается из одного из четырёх источников. Возможные источники, в порядке приоритета:

  1. .octaverc
  2. ~/.octaverc
  3. <OCTAVE_HOME>/…/<version>/m/startup/octaverc
  4. Путь Octave до изменений любым файлом octaverc.

См. также: path, addpath, rmpath, genpath, savepath.

: val = pathsep () ¶

Возвращает символ, используемый для разделения каталогов в пути.

См. также: filesep.

: rehash () ¶

Переинициализирует кэш каталогов пути загрузки Octave.

: fname = file_in_loadpath (file) ¶
: fname = file_in_loadpath (file, "all") ¶

Возвращает абсолютное имя файла file, если он найден в списке каталогов, заданных path.

Если файл не найден, возвращается пустая строка.

Если file уже является абсолютным именем, имя проверяется в файловой системе вместо пути загрузки Octave. В этом случае, если file существует, он будет возвращён в fname, иначе возвращается пустая строка.

Если первый аргумент является массивом ячеек строк, выполняется поиск каждого элемента массива ячеек в каталогах пути загрузки и возвращается первый совпавший элемент.

Если задан второй необязательный аргумент "all", возвращается массив ячеек, содержащий список всех файлов с тем же именем в пути. Если файлы не найдены, возвращается пустой массив ячеек.

См. также: file_in_path, dir_in_loadpath, path.

: restoredefaultpath () ¶

Восстанавливает путь Octave до его начального состояния при запуске.

См. также: path, addpath, rmpath, genpath, pathdef, savepath, pathsep.

: command_line_path () ¶

Возвращает переменную пути командной строки.

См. также: path, addpath, rmpath, genpath, pathdef, savepath, pathsep.

: dirname = dir_in_loadpath (dir) ¶
: dirname = dir_in_loadpath (dir, "all") ¶

Возвращает абсолютное имя элемента пути загрузки, соответствующего dir, если он найден в списке каталогов, указанном в path.

Если совпадение не найдено, возвращается пустая строка.

Сопоставление выполняется в конце каждого элемента пути. Например, если dir — "foo/bar", он соответствует элементу пути "/some/dir/foo/bar", но не "/some/dir/foo/bar/baz" "/some/dir/allfoo/bar". Когда dir — абсолютное имя, а не просто фрагмент пути, он сравнивается с файловой системой вместо пути загрузки Octave. В этом случае, если dir существует, он будет возвращён в dirname, в противном случае возвращается пустая строка.

Если указан необязательный второй аргумент, возвращается ячейный массив, содержащий все совпадения имён, а не только первое.

См. также: file_in_path, file_in_loadpath, path.

: current_encoding = dir_encoding (dir) ¶
: prev_encoding = dir_encoding (dir, encoding) ¶
: dir_encoding (…) ¶

Устанавливает и запрашивает encoding, используемый для чтения m-файлов в dir.

Этот кодирование переопределяет (глобально установленное) кодирование m-файлов.

Строка DIR должна соответствовать форме, в которой каталог отображается в пути загрузки.

Значение encoding должно быть допустимым идентификатором кодирования или "delete". В последнем случае используется (глобально установленное) кодирование m-файлов для данного dir.

Текущее или ранее использовавшееся кодирование возвращается в current_encoding или prev_encoding соответственно. Аргумент вывода необходимо явно указать.

Кодирование каталога автоматически считывается из файла .oct-config при добавлении нового пути к пути загрузки (например, с addpath). Чтобы установить кодирование для всех файлов в той же папке, этот файл должен содержать строку, начинающуюся с "encoding=" , за которой следует идентификатор кодирования.

Например, чтобы установить кодирование файлов для всех файлов в той же папке на ISO 8859-1 (Latin-1), создайте файл .oct-config со следующим содержимым:

encoding=iso8859-1

Если кодирование файлов изменилось после их анализа, для того, чтобы изменения вступили в силу, файлы необходимо проанализировать заново. Это можно сделать с помощью команды clear all.

См. также: addpath, path.

© 1996–2022 The Octave Project Developers
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.
Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://docs.octave.org/v7.2.0/Manipulating-the-Load-Path.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API