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® может повредить ваш текущий сеанс.
Следующий вызов защищает идентификатор 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:
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
или ProtectLevelWarning
или ProtectLevelNone
.
protect
не оценивает его первый аргумент. Таким образом, идентификаторы могут быть защищены, которые были присвоены значение.
Идентификаторы начиная с #
неявно защищены и не может быть присвоен значение, ни получить предположения.