blockIdentsСоздайте блок с некоторыми идентификаторами, защищенными от оценки
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
blockIdents(S)(a)
blockIdents(S)(a) создает прозрачный блок, который оценен как a, за исключением того, что идентификаторами в S не заменяют их значения, и их свойства не используются.
blockIdents является параметрическим семейством областей, в зависимости от набора S, Если d является какой-либо областью блока, d(a) создает блок, принадлежащий той области с содержимым a.
blockIdents(S)(a) заменяет все идентификаторы в a, которые принадлежат S недавно созданными идентификаторами, оценивает результат и занимает место назад; конечный результат помещается в блок. В порядке оценить a обычно прежде, чем поместить его в блок, useeval(hold(blockIdents(S))(a)).
Блоки типа blockIdents(S) оценены таким же образом как их содержимое во время создания.
Блоки типа blockIndents(S) имеют те же операнды как свое содержимое.
Последовательности могут также быть помещены в блоки.
Вызов expr (b) заменяет все прозрачные блоки в b их содержимым, не оценивая то содержимое.
В случае вложенных блоков expr и unblock удаляют только наиболее удаленный блок.
Блок является своего рода контейнером, который защищает его содержимое от оценки. С blockIdents можно подавить оценку для конкретных идентификаторов:
bl := blockIdents({x,y})(x + y + a):
[a,x,y] := [1,2,3]:
bl![]()
delete x, y:
Можно извлечь и оценить содержимое блока с помощью unblock:
bl := blockIdents({y})(x + y):
y := 1:
bl![]()
unblock(bl)
![]()
delete y
|
Любой объект или последовательность объектов |
|
Набор идентификаторов |
blockIdents создает объекты своего собственного типа.