evalassign

Присвоение с оценкой левой стороны

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.

Синтаксис

evalassign(x, value, i)
evalassign(x, value)

Описание

evalassign(x, value, i) оценивает x с глубиной замены i и присваивает value результату оценки.

evalassign(x, value, i) оценивает value, как обычно. Затем это оценивает x с глубиной замены i, и наконец это присваивает оценку value к оценке x.

Различие между evalassign и оператором присваивания, который := - то, что последний не оценивает его левую сторону вообще.

Как обычно, оценка value происходит с глубиной замены, данной LEVEL. По умолчанию это - 1 в рамках процедуры.

Смотрите страницы справки LEVEL и level для понятия глубины замены и для получения дополнительной информации об оценке.

Третий аргумент является дополнительным. Вызовы evalassign(x, value), evalassign(x, value, 0), x := value и _assign(x, value) являются всем эквивалентом.

Результатом оценки x должна быть допустимая левая сторона для присвоения. Смотрите страницу справки := для деталей.

Второй аргумент не сглажен. Следовательно это может также быть последовательность. Cf. Пример 2.

Примеры

Пример 1

evalassign может использоваться в ситуациях, таких как следующее. Предположим, что identifiera имеет другой идентификатор b как его значение, и что мы хотим присвоить что-то этому значению a, не к самому a:

delete a, b: a := b:
evalassign(a, 100, 1): level(a, 1), a, b

Это не работало бы с оператором присваивания :=, который не оценивает его левую сторону:

delete a, b: a := b:
a := 100: level(a, 1), a, b

Пример 2

Второй аргумент может также быть последовательностью:

a := b:
evalassign(a, (3,5), 1):
b

Параметры

x

Объект, который оценивает к допустимой левой стороне присвоения

value

Любой объект MuPAD®

i

Неотрицательное целое число меньше чем 231

Возвращаемые значения

значение.

Алгоритмы

Функциональный level используется для оценки x. Следовательно i может превысить значение LEVEL.

Все специальные правила для _assign применяются: смотрите там на более подробной информации об индексируемых присвоениях, присвоениях на слоты и механизме protect.

Смотрите также

Функции MuPAD