在探索外部类(Java,COM等)提供的API时,MATLAB的methodsview
工具非常方便。以下是此功能的工作原理示例:
myApp = actxserver('Excel.Application');
methodsview(myApp)
我希望将信息保留在此窗口中以供将来参考,方法是将其导出到表格,cell
字符串数组,.csv
或其他类似格式,最好不使用外部工具。
此窗口允许一次选择一行并执行“ Ctrl + c Ctrl + v “on it,这会产生一个与标签分隔的文本,如下所示:
Variant GetCustomListContents (handle, int32)
当只有几种方法时,这种策略可以工作,但对于(通常遇到的)长列表不可行。
findjobj
或uiinspect
等外部工具),因为findall(0,'Type','Figure')
“看不到” methodsview
窗口/数字。我的MATLAB版本是R2015a。
答案 0 :(得分:2)
幸运的是,methodsview.m
文件是可访问的,并且可以让我们深入了解该功能的工作原理。里面是以下评论:
%// Internal use only: option is optional and if present and equal to %// 'noUI' this function returns methods information without displaying %// the table. `
经过一些反复试验后,我发现以下情况有效:
[titles,data] = methodsview(myApp,'noui');
...并返回两个类型为java.lang.String[][]
的数组。
从那里我发现了几种以有意义的方式呈现数据的方法:
表:
dataTable = cell2table(cell(data));
dataTable.Properties.VariableNames = matlab.lang.makeValidName(cell(titles));
单元格数组:
dataCell = [cell(titles).'; cell(data)];
重要说明:在表格中,“Return Type
”列标题重命名为ReturnType
,因为表标题必须是有效的MATLAB标识符as mentioned in the docs。