save, _save

Сохраните состояние идентификатора

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

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

Синтаксис

save x1, x2, …
_save(x1, x2, …)

Описание

В процедуре оператор “save x;” сохраняет состояние глобального идентификатора x.

Оператор save сохраняет состояния идентификаторов — т.е. их значения и свойства — во время осуществления процедур. Исходное состояние идентификаторов восстанавливается, когда осуществление процедуры закончено. Это содержит, даже когда ошибка происходит.

Оператор save должен использоваться только в теле процедуры. Это не может быть названо на интерактивном уровне.

Аргументы оператора save оценены, как обычно. В операторе 'save x;' символ x должен оценить к идентификатору y, сказать. Это - состояние идентификатора y, который сохранен.

Оператор save очень похож на объявление save для процедур. Основное различие для объявления - то, что, в порядке сделать объявление, нужно знать, что имена идентификаторов сохранены заранее. Оператор save позволяет сохранять идентификаторы, которые известны только во времени выполнения.

Оператор save обычно используется по порядку, чтобы временно изменить свойства идентификатора, например, путем вызова функционального assume. В конечном счете исходные свойства идентификаторов восстанавливаются, даже если ошибка происходит.

Оператор 'save x1, x2, ...;' эквивалентен вызову функции _save(x1, x2, ...).

Примеры

Пример 1

Во-первых, мы задаем свойство для идентификатора y:

assume(y < 0)

Свойства идентификатора, сохраненного в x, изменяются временно во время выполнения следующей процедуры p:

p := proc(x : DOM_IDENT)
begin
    save x;
    assume(x > 0);
    is(x > 0)
end_proc:

От результата процедуры мы видим, что свойства y были изменены во время выполнения p:

p(y)

Однако исходные свойства были восстановлены после выхода из p. Идентификатор y имеет свои исходные свойства:

is(y > 0), is(y < 0)

Восстановление исходных свойств гарантируется, даже если некоторая ошибка произойдет в процедуре. Следующая процедура q повышает ошибку после изменения идентификатора, данного x:

q := proc(x : DOM_IDENT)
begin
    save x;
    assume(x > 0);
    error("some error")
end_proc:
q(y)
Error: some error [q]

Тем не менее, исходные предположения о y восстанавливаются:

is(y > 0), is(y < 0)

unassume(y): delete p, q:

Параметры

x1, x2, …

Оценка символов к идентификаторам

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

Пустой объект типа DOM_NULL.

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

Функции MuPAD