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