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

Для просмотра документации необходимо авторизоваться на сайте