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
создает объекты его собственного типа.