extnops

Количество операндов внутреннего представления доменный элемент

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

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

Синтаксис

extnops(object)

Описание

extnops(object) возвращает количество операндов внутреннего представления объекта.

Для объектов типа основных данных, таких как выражения, наборы, списки, таблицы, массивы, hfarrays и т.д., extnops дает к тому же результату как функциональный nops. Единственная разница для функционального nops тот extnops не может быть перегружен областями, реализованными на языке MuPAD®.

Внутренне, доменный элемент может состоять из произвольного числа объектов данных; extnops возвращает фактическое количество внутренних операндов. Поскольку каждая область должна обеспечить методы интерфейса, extnops должен только использоваться из этих методов. “С внешней стороны”, функциональный nops должен использоваться.

Примеры

Пример 1

extnops возвращает количество записей доменного элемента:

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

delete d, e:

Пример 2

Для областей ядра, extnops эквивалентно nops:

extnops([1, 2, 3, 4]), nops([1, 2, 3, 4])

Пример 3

Мы задаем область списков. Его внутреннее представление является отдельным объектом (список ядра вводят DOM_LIST):

myList := newDomain("lists"): 
myList::new := proc(l : DOM_LIST) begin new(myList, l) end_proc:

Мы хотим функциональность nops для этой области, чтобы быть эквивалентными для ядра вводят DOM_LIST. Чтобы достигнуть этого, мы перегружаем функциональный nops. К внутреннему списку получают доступ через extop(l, 1):

myList::nops := l -> nops(extop(l, 1)):

Мы создаем элемент этой области:

mylist := myList([1, 2, 3])

Начиная с nops был перегружен, extnops обеспечивает единственный способ определить количество операндов внутреннего представления mylist. В отличие от nops, extnops всегда возвращается 1, потому что внутреннее представление состоит точно из одного списка:

nops(mylist), extnops(mylist)

delete myList, mylist:

Параметры

object

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

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

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

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

Области MuPAD

Функции MuPAD