misc::breakmapОстанавливает отображение, в настоящее время сделанное maprec
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразуют Notebook MuPAD в Live скрипты MATLAB.
misc::breakmap()
misc::breakmap(), останавливает рекурсивное приложение функции ко всем подвыражениям выражения что misc::maprec только продолжает работать.
misc::breakmap полезно как команда в процедуре, сопоставленной misc::maprec в случае, если мы знаем, что закончены с нашей работой, и остающееся рекурсивное отображение не необходимо.
Мы хотим знать, содержит ли данное выражение конкретный тип t. Как только мы нашли первое вхождение t, мы можем отключить наш поиск.
myfound := FALSE:
misc::maprec(hold(((23+5.0)/3+4*I)*PI),
{DOM_COMPLEX}=proc()
begin
myfound := misc::breakmap();
args()
end_proc):
myfound![]()
Что мы делали? Мы сказали misc::maprec только спуститься по дереву выражений и искать подвыражения типа DOM_COMPLEX; и, каждый раз, когда такое подвыражение должно быть найдено, чтобы применить определенную процедуру к нему. Та процедура останавливает рекурсивное отображение, помнит, что мы нашли тип, который мы искали и возвращаем точно его аргумент, таким образом что результат, возвращенный misc::maprec равняется входу. В примере ниже, мы тестируем, содержит ли наше данное выражение тип DOM_POLY.
myfound := FALSE:
misc::maprec(hold(((23+5.0)/3+4*I)*PI),
{DOM_POLY}=proc()
begin
myfound := misc::breakmap();
args()
end_proc):
myfound![]()
Обратите внимание на то, что вы не должны использовать этот метод при поиске подвыражений данного типа; вызов hastype конечно, более удобно.
misc::breakmap всегда возвращает TRUE.