assert

Утверждения для отладки

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразуют Notebook MuPAD в Live скрипты MATLAB.

Синтаксис

assert(cond)

Описание

Оператор assert(cond) объявляет что условие cond сохраняется в тот момент времени, когда оператор оценен. По умолчанию MuPAD® не заботится об утверждениях. После установки testargs(TRUE), однако, MuPAD проверяет каждое утверждение и остановки с ошибкой если булева оценка cond не дает TRUE.

Утверждения являются главным средством отладки для программистов: путем утверждения часто, чего они думают, чтобы достигнуть, программисты дают возможность для себя обнаруживать первый непреднамеренный промежуточный результат.

Примеры

Пример 1

Предположим, что мы хотим записать функциональный f это берет целое число в качестве его аргумента и возвращается 0, если то целое число трехзначного порядка, и 1 в противном случае. Одна идея, как закодировать это, могла быть следующей: учитывая целочисленный n, n по модулю 3 должен быть равен одному из - 1, 1, или 0. В любом случае, abs(n mod 3) должен сделать то, что мы хотим:

f := proc(n: DOM_INT): DOM_INT
local k: DOM_INT;
begin
  k := n mod 3;
  assert(k = 1 or k = -1 or k = 0);
  abs(k)
end_proc

Проверка утверждений включается или от использования testargs:

oldtestargs := testargs(): testargs(FALSE): f(5)

Результат не равняется 1. Для отладки целей мы включаем проверку утверждения:

testargs(TRUE): f(5)
Error: Assertion 'k = 1 or k = -1 or k = 0' has failed. [f]

Это показывает что локальная переменная k должно быть, получил неправильное значение. Действительно, при написании нашей программы мы пропустили различие между mod и симметричный остаток, данный mods.

testargs(oldtestargs):

Параметры

cond

Булево выражение

Возвращаемые значения

assert возвращает TRUE или повышает ошибку.

Смотрите также

Функции MuPAD

Для просмотра документации необходимо авторизоваться на сайте