Cat::BaseCategory

Основная категория

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

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

Описание

Cat::BaseCategory самая общая суперкатегория всех категорий, заданных пакетом CAT. Любая область в пакете Dom имеет эту категорию.

Методы заданы Cat::BaseCategory связаны с преобразованием типов и тестированием равенства, они не связаны с алгебраической структурой.

Методы

развернуть все

Основные методы

convert(x)

convert_to(x, T)

equal(x, y)

Обратите внимание на то, что этот метод не перегружает функциональный _equal, т.е. = оператор. Функциональный _equal не может быть перегружен.

expr(x)

Методы преобразования

coerce(x)

Реализация обеспечила попытки преобразовать x в элемент этой области первым вызовом dom::convert(x) и затем, если это перестало работать, x::dom::convert_to(x, dom); это возвращает FAIL если оба метода перестали работать.

equiv(x, y)

Реализация обеспечила попытки преобразовать x и y в элементы этой области и затем вызывает dom::equal с этими элементами. Это возвращает FAIL если сбои преобразования или тест равенства возвращают UNKNOWN.

new(x)

Учитывая доменный D, выражение формы D(x,...) результаты в вызове формы D::new(x,...).

Реализация, обеспеченная здесь, пытается преобразовать x путем вызова dom::convert(x) и возвращает результат. Это повышает ошибку если dom::convert возвращает FAIL.

print(x)

Не распечатывайте непосредственно в этом методе путем вызова функционального print например!

Реализацией, обеспеченной здесь, является dom::expr.

testtype(x, T)

Этот метод должен возвратить TRUE если это может решить тот x имеет тип Tложь если это может решить тот x не имеет типа T и FAIL если это не может решить тест.

Этот метод называется в трех различных ситуациях: Также, если аргумент x имеет эту область, или если T эта область, или если T элемент этой области. Таким образом следящий за тремя ситуациями может возникнуть:

  • x элемент текущей области.

    В этом случае это должно быть протестировано если x может рассматриваться как элемент типа T, который может или быть областью или ввести выражение. По умолчанию это только верно если доменный тип x T, или если T доменный конструктор для который x::dom::hasProp(x, T) TRUE. В частности, x по умолчанию, не типа T если T тип Библиотеки типов.

  • T текущая область.

    В этом случае это должно быть протестировано если x может рассматриваться как элемент этой области. Реализацией по умолчанию, если, это - TRUE только если доменный тип x dom.

  • T элемент текущей области.

    В этом случае T рассматривается как выражение типа. Обеспеченная реализация по умолчанию возвращает TRUE если доменный тип x T, и FAIL если нет. Специальное правило содержит если T область фасада: в этом случае, coerce(x,T) называется, если это - успешный TRUE возвращен и FAIL если нет.

Технические методы

new_extelement(x, …)

Когда выражение new(D,x,...) оценен и D область с методом "new_extelement", затем D::new_extelement(D,x,...) оценен и возвращен как результат.

Ядро или области фасада должны задать этот метод потому что в противном случае функциональный new возвратил бы “контейнерный” элемент D вместо “необработанного” элемента, как предназначено.

Реализация, обеспеченная здесь, возвращает результат D::new(x,...).