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 |
Неотрицательное целое число.