Spec-Zone.ru › Octave 6

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.

© 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/v6.4.0/Manipulating-the-Load-Path.html

Spec-Zone.ru

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