protect

Защитите идентификатор

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

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

Синтаксис

protect(x, <ProtectLevelError | ProtectLevelWarning | ProtectLevelNone>)

Описание

protect(x) защищает идентификатор x.

protect(x, ProtectLevelError) устанавливает полную защиту от записи для идентификатора. Любая последующая попытка присвоить значение идентификатору приведет к ошибке.

protect(x, ProtectLevelWarning) устанавливает “мягкую” защиту. Любое последующее присвоение на идентификатор приводит к предупреждающему сообщению. Однако идентификатор будет присвоен значение, так или иначе.

protect(x) эквивалентно protect(x, ProtectLevelWarning).

protect(x, ProtectLevelNone) удаляет любую защиту от идентификатора. Этот вызов эквивалентен unprotect(x).

Примечание

Перезапись защищенных идентификаторов, таких как имена функций MuPAD® может повредить ваш текущий сеанс.

Примеры

Пример 1

Следующий вызов защищает идентификатор important с уровнем защиты “ProtectLevelWarning”:

protect(important, ProtectLevelWarning)

Идентификатор может все еще быть перезаписан:

important := 1
Warning: Protected variable 'important' is overwritten. [_assign]

Мы защищаем идентификатор с уровнем “ProtectLevelError”:

protect(important, ProtectLevelError)

Теперь более не возможно перезаписать important:

important := 2
Error: Identifier 'important' is protected. [_assign]

Идентификатор сохраняет свое предыдущее значение:

important

Для того, чтобы перезаписать это значение, мы должны оставить без защиты important:

protect(important, ProtectLevelNone)

important := 2

Идентификатор защищен снова с уровнем по умолчанию “ProtectLevelWarning“:

protect(important)

important := 1
Warning: Protected variable 'important' is overwritten. [_assign]

unprotect(important): delete important:

Пример 2

protect не оценивает его первый аргумент. Здесь идентификатор x может все еще быть перезаписан, в то время как его значение – который является идентификатором y – остается, защищенным от записи:

protect(y, ProtectLevelError):  x := y:  protect(x):  x := 1
Warning: Protected variable 'x' is overwritten. [_assign]

y := 2
Error: Identifier 'y' is protected. [_assign]
unprotect(x):  unprotect(y):  delete x, y:

Параметры

x

Идентификатор

Опции

ProtectLevelError, ProtectLevelNone, ProtectLevelWarning

Уровень защиты, чтобы установить. Значением по умолчанию является ProtectLevelWarning.

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

Предыдущий уровень защиты x: любой ProtectLevelError или ProtectLevelWarning или ProtectLevelNone.

Алгоритмы

protect не оценивает его первый аргумент. Таким образом, идентификаторы могут быть защищены, которые были присвоены значение.

Идентификаторы начиная с # неявно защищены и не может быть присвоен значение, ни получить предположения.

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

Функции MuPAD