安装软件包后,查找该软件包中的功能的命令是什么?
例如,我安装了control
软件包。但是如何找到这个包的帮助,比如它包含什么功能等等,比如 Matlab?
是否每次都必须访问http://octave.sourceforge.net/网站才能找到?可以从八度音程中找到此信息吗?
我发现 Matlab 的帮助比 octave 更好、更容易使用。
安装软件包后,查找该软件包中的功能的命令是什么?
例如,我安装了control
软件包。但是如何找到这个包的帮助,比如它包含什么功能等等,比如 Matlab?
是否每次都必须访问http://octave.sourceforge.net/网站才能找到?可以从八度音程中找到此信息吗?
我发现 Matlab 的帮助比 octave 更好、更容易使用。
用于pkg describe -verbose control
从控制包中获取所有信息。
我写了一个简短的 octave 函数,可以解决你的问题:它创建一个对话框来显示包中的所有函数。选择一个功能后,它将在消息框中显示它的帮助文本。只需将以下 octave 函数保存到一个名为的文件pkghelp.m
中,然后键入
pkghelp packagename
.
以下将显示包“io”的功能概述:
pkghelp io
% Script to display functions and help on functions for a package
function pkghelp(pkgname)
% Get functions for this package
des = pkg('describe','-verbose',pkgname);
% Get first element
des = des{1};
if isempty(des)
error('pkghelp:unknownPackage','Package "%s" was not found!',pkgname);
endif
% Create a dialog with functions
pname = des.name;
pvers = des.version;
pdesc = des.description;
% Number of categories
ncat = numel(des.provides);
list = cell(1,1);
cnt=1;
for i=1:ncat
% Store category name
list(cnt) = ['--(* ',des.provides{i}.category,' *)--'];
% Number of functions
nfunc = numel(des.provides{i}.functions);
% Append functions in category
list(cnt+1:cnt+nfunc) = des.provides{i}.functions(:);
% Update counter
cnt = cnt+1+nfunc;
endfor
ok=1;
while ok==1
% Create dialog
[sel, ok] = listdlg ('ListString', list,...
'SelectionMode', 'Single', ...
'ListSize',[300,600],...
'Name',pname,...
'PromptString','List of available functions');
if (ok==1)
% Selected function name
selfun = list{sel};
% Not a category?
if selfun(1) ~= '-'
% assure that package is loaded for help
pkg('load',pkgname);
% Get help text for selected function
doc = help(selfun);
% Open dialog with help text display
msgbox(doc,[pname,'/',selfun],'help');
endif
endif
endwhile
endfunction
在 Linux 下,从 Octave 或 Bash(同样工作)中,检查包文件夹:
me@computer:/usr/share/octave/packages> ls -la
drwxr-xr-x 3 root root 4096 22. Okt 2011 .
drwxr-xr-x 5 root root 4096 22. Okt 2011 ..
drwxr-xr-x 4 root root 4096 22. Okt 2011 openmpi_ext-1.0.1
你的“控制”包应该出现在这里,作为一个文件夹。输入文件夹并查看详细信息...
me@computer:/usr/share/octave/packages> cd openmpi_ext-1.0.1/
me@computer:/usr/share/octave/packages/openmpi_ext-1.0.1> ls -la
drwxr-xr-x 4 root root 4096 22. Okt 2011 .
drwxr-xr-x 3 root root 4096 22. Okt 2011 ..
-rwxr-xr-x 1 root root 346 24. Nov 2010 allnodes
drwxr-xr-x 2 root root 4096 22. Okt 2011 doc
-rw-r--r-- 1 root root 3694 24. Nov 2010 doc-cache
-rw-r--r-- 1 root root 967 24. Nov 2010 hello2dimmat.m
-rw-r--r-- 1 root root 1706 24. Nov 2010 hellocell.m
-rw-r--r-- 1 root root 1359 24. Nov 2010 hellosparsemat.m
-rw-r--r-- 1 root root 1711 24. Nov 2010 hellostruct.m
-rw-r--r-- 1 root root 1726 24. Nov 2010 helloworld.m
-rw-r--r-- 1 root root 1506 24. Nov 2010 mc_example.m
-rw-r--r-- 1 root root 4721 24. Nov 2010 montecarlo.m
drwxr-xr-x 2 root root 4096 22. Okt 2011 packinfo
-rw-r--r-- 1 root root 3535 24. Nov 2010 Pi.m