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