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