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
.
Мы создаем новый доменный 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:
Во-первых, новый доменный 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:
Для типов данных ядра, таких как наборы, списки и т.д., 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))
|
Произвольный объект MuPAD® |
|
Неотрицательные целые числа |
последовательность операндов или заданного операнда. FAIL
возвращен, если никакой соответствующий операнд не существует.