libraryinfo
получает путь и устанавливает главные функции загруженной библиотеки
Синтаксис
macros = libraryinfo(libraryname) [macros, libpath] = libraryinfo(libraryname)
Аргументы
- libraryname
строка: имя загруженной библиотеки.
- macros
столбец строк: имена главных функций, принадлежащих библиотеке.
- libpath
строка: путь до файла в библиотеке.
Описание
Получает имена функций (написанных на языке Scilab), принадлежаних указанной
библиотеке, и путь до директории, где хранятся их *.sci
-файлы и
файлы библиотеки. Вспомогательные функции, которые могут следовать за главными
функциями в *.sci
-файлах, являются приватными и не возвращаются.
Только загруженные библиотеки могут быть адресованы с помощью libraryinfo() . |
Получение некоторой информации о библиотеки из её дескриптора
libraryinfo()
работает по литеральному имени библиотеки.
В некоторых случаях в наличии может быть только их дескриптор, определённый при
загрузке библиотеки. Например, libraryinfo("iolib")
работает,
а libraryinfo(iolib)
- нет. Как же использовать дескриптор для
получения какой-либо информации? Продолжим с примером iolib
:
- Получение пути:
libpath = string(iolib)(1)
- Получение вектор-столбца составляющих функций:
functions = string(iolib)(2:$)
- Получение литерального имени библиотеки:
libraryname = xmlGetValues("//scilablib", "name", libpath+"/lib")
Незагруженная библиотека: получение информации по своему пути
Если рассматриваемая библиотека не загружена, то ни
libraryinfo()
, ни string()
не будут
работать.
При условии, что известен путь libpath
, можно
- получить его литеральное имя:
xmlGetValues("//scilablib", "name", libpath+"/lib")
- получить вектор-столбец составляющих
функций:
functions = xmlGetValues("//scilablib/macro", "name", libpath+"/lib")
Примеры
C libraryinfo()
по литеральному имени библиотеки:
[f, p] = libraryinfo("iolib")
--> [f, p] = libraryinfo("iolib") p = SCI\modules\io\macros\ f = !input ! !unix_g ! !unix_w ! !%_sodload ! !unix_x ! !unix_s !
По дескриптору библиотеки:
// Просто для отображения: iolib // Перехватить информацию в переменных: p = string(iolib)(1) f = string(iolib)(2:$) libname = xmlGetValues("//scilablib", "name", p+"/lib")
--> // Просто для отображения: --> iolib iolib = Functions files location : SCI\modules\io\macros\. input unix_g unix_w %_sodload unix_x unix_s --> // Перехватить информацию в переменных: --> p = string(iolib)(1) p = SCI\modules\io\macros\ --> f = string(iolib)(2:$) f = !input ! !unix_g ! !unix_w ! !%_sodload ! !unix_x ! !unix_s ! --> libname = xmlGetValues("//scilablib", "name", p+"/lib") libname = iolib
Для незагруженной библиотеки, по её пути:
path = fullpath("SCI/modules/scicos_blocks/macros/Hydraulics"); libname = xmlGetValues("//scilablib", "name", path+"/lib") functions = xmlGetValues("//scilablib/macro", "name", path+"/lib") Hydraulicslib // незагруженная (Xcos не должен быть запущен)
--> libname = xmlGetValues("//scilablib", "name", path+"/lib") libname = Hydraulicslib --> functions = xmlGetValues("//scilablib/macro", "name", path+"/lib") functions = !Bache ! !Flowmeter ! !PerteDP ! !PuitsP ! !SourceP ! !VanneReglante ! --> Hydraulicslib Undefined variable: Hydraulicslib
Смотрите также
- string — преобразование в строку
- load — Loads some archived variables, a saved graphic figure, a library of functions
- librarieslist — gets the list of loaded Scilab libraries
- whereis — Returns the name of the loaded library/module a given function belongs to
Report an issue | ||
<< librarieslist | Библиотеки | argn >> |