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, если заданный операнд не существует. Cf. Пример 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®

i, j

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

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

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

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

Области MuPAD

Функции MuPAD