Есть ли способ выборочно включать код при публикации в Matlab?
Я пишу код MATLAB, чтобы опубликовать его позже. Публикуя, я имею в виду встроенный инструмент MATLAB publish
, который позволяет программисту сделать полный отчет, сгенерированный из их кода MATLAB. Там есть возможность включить код с этим отчетом по разделам, предшествующим результатам этого кода. Есть ли способ сообщить MATLAB включить часть этого кода в отчет, но не все? Я знаю, что есть несколько тегов кода разметки, но я не смог найти что-либо по этой теме.
Изменить: Чтобы уточнить, я хочу, чтобы все результаты были опубликованы, но только некоторые из кода. Поэтому просто удаление этого кода не является вариантом.
Ура! =)
Ответы
Ответ 1
Скройте свой код, который вы не хотите видеть людям в script. Например, в примере "sine_wave" на странице документации publish
я добавил одну строку:
junk
Здесь содержимое мусора:
figure()
plot(0:0.01:6,sin(0:0.01:6))
Теперь запустите свой основной script, и опубликованный результат имеет "мусор" в листинге, но содержимое мусора не включено, и вы получаете хорошую версию синусоидальной волны, а не дерьмовую, включенную в их пример.
Ответ 2
Единственный способ, которым я это знаю, - удалить код, который вы не хотите отображать на выходе. Если вы просто хотите отобразить код, а не вывод, то вы можете просто установить для свойства evalCode
значение false
в своем обращении к publish
.
Если вы хотите, чтобы код был оценен, и вывод, который должен быть опубликован, тогда он немного сложнее. Вы можете вручную выполнить части script, которые вы не хотите публиковать, а затем опубликовать код, который вам нужен (путем размещения его в собственном файле .m
). Не имеет значения, зависит ли опубликованный код от любых переменных, которые инициализируются в пропущенном коде, поскольку эти переменные были добавлены в рабочую область, когда вы вручную выполнили пропущенные фрагменты кода.
Edit:
Поскольку вы уточнили свой вопрос, чтобы заявить, что вы заинтересованы в публикации некоторого кода, но весь вывод, я бы подумал, что лучше всего изменить "временный" script (который содержит частичный набор кода, который вы хотите опубликовать), чтобы включить любые вызовы функций fprintf
, disp
и т.д., которые вы хотите отображать на выходе.
Это немного хак-иш, но, как я уже сказал, я не знаю, как получить такую мелкую гранулярность с помощью "аннотаций" или с помощью команды publish
.
Надеюсь, что это поможет!