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, ...)
.
Во-первых, мы задаем свойство для идентификатора 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:
|
Оценка символов к идентификаторам |
Пустой объект типа DOM_NULL
.