Подтвердить что ты не робот

Как можно создать хорошую документацию для объектно-ориентированного кода MATLAB?

Я ищу способ создания документации для объектно-ориентированного кода MATLAB. Использование "doc classname" выводит именно то, что мне нужно (заголовок класса, свойства w/описания, список методов и их описание, никакого кода), но вы не можете его сохранить. Он доступен только через MATLAB. Я пробовал инструмент публикации MATLAB, но он действительно предназначен для публикации сценариев и основных функций. m2html было бы здорово, но оно не поддерживало классы.

4b9b3361

Ответ 1

Внутренняя функция help2html, вызываемая doc, предоставит вам часть пути. Попробуйте следующее:

htmlstr = help2html('myClassName','','-doc');
fid = fopen('myClassName.html','w');
fprintf(fid,'%s',htmlstr);
fclose(fid)

Это сделает вам html файл, содержащий документацию для класса, которая является началом. Связи в файле все будут иметь форму "matlab: helpwin", хотя они предназначены для использования внутри внутреннего браузера MATLAB. Вы можете либо перейти, либо изменить ссылки, либо попытаться включить html файлы в MATLAB-справку по этим строкам: Добавить документацию в браузер справки.

Ответ 2

Вы можете преодолеть этот маршрут, используя метаклассы объектов и функциональную форму HELP. Например (непроверенный, но, надеюсь, вы получите эту идею):

hc = ?MyClass; %# get the class handle
arrayfun( @(x) iEmit(hc, x), hc.MethodList );
arrayfun( @(x) iEmit(hc, x), hc.PropertyList );

function iEmit( hc, thing )
    entity = sprintf( '%s.%s', hc.Name, thing.Name );
    txt    = help( entity );
    fprintf( 1, 'Help for: %s\n%s', entity, txt )
end