Pref:: typeCheck

Введите проверку формальных параметров

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

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

Синтаксис

Pref::typeCheck(Always | Interactive | None)
Pref::typeCheck(NIL)
Pref::typeCheck()

Описание

Pref::typeCheck определяет вид проверки типа параметров процедуры.

Определение процедуры MuPAD® может содержать формальные параметры. Существует синтаксис, чтобы присоединить спецификацию типа к этим параметрам. Если и когда проверка типа включена, типы фактических параметров проверяются по спецификациям типа, и ошибка повышена, если параметр не соответствует спецификации.

Спецификации типа используются в качестве второго параметра testtype. Самые важные единицы являются Доменными Типами и объектами доменного Типа. С Типом определяемые пользователем типы могут быть легко добавлены к системе, чтобы расширить механизм проверки типа.

Аргументы Pref::typeCheck могут быть:

  • None

    Никакие параметры не проверяются.

  • Interactive

    Параметры, вводимые в интерактивном режиме, проверяются. Это значение по умолчанию.

  • Always

    Все формальные параметры проверяются.

Значение по умолчанию средние значения Interactive: Когда пользователь вызовет процедуру f, его параметры будут проверяться, но ни одна из процедур, вызванных пользователем, не вызвала процедуру, f выполняет проверку типа.

Вызов Pref::typeCheck без аргументов возвращает текущее значение. Аргумент NIL сбрасывает значение по умолчанию, которое является Interactive.

Примеры

Пример 1

Мы задаем процедуру f, ожидая идентификатор и целое число:

f:= proc(a : DOM_IDENT, b : DOM_INT)
    begin
      evalassign(a, b, 1)
    end_proc:
f(a, 2)

Теперь a имеет значение 2, но идентификатор ожидается:

f(a, 2)
Error: Invalid object '2'. Type of argument number 1 must be 'DOM_IDENT'.
  Evaluating: f
delete a:

Опции

Always

Типы параметра проверяются на каждый вызов.

Interactive

Типы параметра проверяются на интерактивные вызовы, не на “внутренние” вызовы во время вычисления.

None

Никакие проверки типа параметра не выполнены ядром MuPAD. Явные проверки в процедурах все еще используют обычный механизм testargs.

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

Ранее заданное значение

Алгоритмы

Синтаксис, чтобы протестировать параметры непосредственно (без теста в теле процедуры) является формальным параметром, сопровождаемым двоеточием и затем текстовым объектом: proc(a : DOM_IDENT, b : Type::Integer). Это означает: a должен иметь тип, DOM_IDENT и b должны иметь тип Type::Integer.

Обратите внимание на то, что вы не можете использовать автоматическую проверку типа аргументы, которые используются для перегрузки в процедуре.

Объекты Библиотеки типов являются обычно более общими, чем типы ядра MuPAD.

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

Области MuPAD

Функции MuPAD

Для просмотра документации необходимо авторизоваться на сайте