extop

Внутренние операнды доменного элемента

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

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

Синтаксис

extop(object)
extop(object, i)
extop(object, i .. j)

Описание

extop(object) возвращает все операнды доменного элемента object.

extop(object, i) возвращает i- операнд th.

extop(object, i..j) возвращает i- th к j- операнд th.

Для объектов типа основных данных, таких как выражения, наборы, списки, таблицы, массивы, hfarrays и т.д., extop дает к тем же операндам как функциональный op. См. соответствующую документацию для получения дополнительной информации об операндах. Основное различие для функционального op тот extop не может быть перегружен. Поэтому это гарантирует прямой доступ к операндам внутреннего представления элементов области библиотеки. Как правило, extop используется в реализации "op" метод области библиотеки, которая перегружает op системы функция.

Доменный элемент состоит из ссылки на соответствующую область и последовательность значений, представляющих ее содержимое. Функциональный extop предоставляет доступ к области и операндам этой внутренней последовательности данных.

extop(object) возвращает последовательность всех внутренних операндов кроме 0-th. Этот вызов эквивалентен extop(object, 1..extnops(object)).

extop(object, i) возвращает i- th внутренний операнд. В частности, область объекта возвращена extop(object, 0) если object элемент области библиотеки. Если object элемент области ядра, вызов extop(object, 0) эквивалентно op(object, 0).

extop(object, i..j) возвращает i- th к j- th внутренние операнды object как последовательность выражения; i и j должны быть неотрицательные целые числа с i меньший или равный j. Эта последовательность эквивалентна extop(object, k) $k = i..j.

extop возвращает FAIL если заданный операнд не существует. См. Пример 4.

Операнды последовательности выражения являются ее элементами. Обратите внимание на то, что такие последовательности не сглажены extop.

Примеры

Пример 1

Мы создаем новый доменный d и используйте функциональный new создать элемент этого типа. Его внутреннее представление данных является последовательностью аргументов, переданных new:

d := newDomain("demo"): e := new(d, 1, 2, 3): extop(e)

Могут быть выбраны отдельные операнды:

extop(e, 2)

Области значений операндов могут быть выбраны:

extop(e, 1..2)

0-th операнд доменного элемента является своей областью:

extop(e, 0)

delete d, e:

Пример 2

Во-первых, новый доменный d задан через newDomain. "new" метод служит для создания элементов этого типа. Внутреннее представление области является последовательностью всех аргументов этого "new" метод:

d := newDomain("d"): d::new := () -> new(dom, args()):

op системы функция перегружается следующим "op" метод этой области. Это должно возвратить элементы отсортированной копии внутренней последовательности данных. В реализации "op" метод, функциональный extop используется, чтобы получить доступ к внутренним данным:

d::op := proc(x, i = null())
         local internalData;
         begin internalData := extop(x);
               op(sort([internalData]), i)
         end_proc:

Из-за этой перегрузки, op возвращает различные операнды, чем extop:

e := d(3, 7, 1): op(e); extop(e)

delete d, e:

Пример 3

Для типов данных ядра, таких как наборы, списки и т.д., extop всегда возвращает те же операнды как op:

extop([a, b, c]) = op([a, b, c])

Выражения имеют тип данных ядра DOM_EXPR, таким образом extop(sin(x), 0) эквивалентно op(sin(x), 0):

domtype(sin(x)), extop(sin(x), 0) = op(sin(x), 0)

Последовательности выражения не сглажены:

extop((1, 2, 3), 0), extop((1, 2, 3))

Пример 4

Несуществующие операнды возвращены как FAIL:

extop([1, 2], 4),  extop([1, 2], 1..4)

Параметры

object

Произвольный объект MuPAD®

iJ

Неотрицательные целые числа

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

последовательность операндов или заданного операнда. FAIL возвращен, если никакой соответствующий операнд не существует.

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

Области MuPAD

Функции MuPAD