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