extnops
Количество операндов внутреннего представления доменный элемент
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
extnops(object
)
extnops(object)
возвращает количество операндов внутреннего представления объекта.
Для объектов типа основных данных, таких как выражения, наборы, списки, таблицы, массивы, hfarrays и т.д., extnops
приводит к тому же результату как функциональный nops
. Единственная разница для функционального nops
- то, что extnops
не может быть перегружен областями, реализованными на языке MuPAD®.
Внутренне, доменный элемент может состоять из произвольного числа объектов данных; extnops
возвращает фактическое количество внутренних операндов. Поскольку каждая область должна обеспечить методы интерфейса, extnops
должен только использоваться из этих методов. “С внешней стороны”, функциональный nops
должен использоваться.
extnops
возвращает количество записей доменного элемента:
d := newDomain("demo"): e := new(d, 1, 2, 3, 4): extnops(e)
delete d, e:
Мы задаем область списков. Его внутреннее представление является отдельным объектом (список ядра вводят 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:
|
Произвольный объект MuPAD |
Неотрицательное целое число.