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)
Незагруженная библиотека: получение информации по своему пути
Если рассматриваемая библиотека не загружена, то ни
                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 >> |