NIL

Элемент Singleton доменного DOM_NIL

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

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

Синтаксис

NIL

Описание

NIL ключевое слово языка MuPAD®, который представляет одноэлементный элемент доменного DOM_NIL.

Область ядра DOM_NIL имеет только один одноэлементный элемент. NIL ключевое слово языка MuPAD, который представляет этот элемент. NIL не изменяется оценкой, смотрите DOM_NIL.

Чаще всего, NIL используется, чтобы представлять “отсутствие” или “пустой” операнд в структуре данных. “Пустой объект”, возвращенный null не подходит для этого, потому что это удалено из большинства контейнеров (как списки, наборы или выражения) во время оценки.

Когда новый массив от области ядра DOM_ARRAY создается, его элементы инициализируются со значением NIL. Функциональный op возвращает NIL для элементов неинициализированного массива. Обратите внимание, однако, что индексный доступ элемента неинициализированного массива возвращает индексируемое выражение вместо NIL.

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

В прежних версиях MuPAD, NIL использовался, чтобы удалить значения идентификаторов или записи таблиц, путем присвоения NIL к идентификатору или записи. Это больше не поддерживается. Нужно использовать delete удалить значения. NIL теперь допустимое значение идентификатора и действительный доступ таблицы.

Примеры

Пример 1

В отличие от “пустого объекта”, возвращенного null, NIL не удален из списков и наборов:

[1, NIL, 2, NIL], [1, null(), 2, null()], 
{1, NIL, 2, NIL}, {1, null(), 2, null()}

Пример 2

NIL используется, чтобы представлять “недостающие” записи процедур. Например, самая простая вообразимая процедура имеет следующие операнды:

op(proc() begin end)

Первый NIL, например, представляет список пустых аргументов, второе пустой список локальных переменных и третьего пустое множество опций процедуры.

Пример 3

Элементы массива инициализируются с NIL если не заданный в противном случае. Обратите внимание, однако, что индексный доступ для таких элементов дает к индексируемому выражению:

A := array(1..2): A[1], op(A,1)

delete A:

Пример 4

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

p := proc() local l; begin print(l) end:  p():
Warning: Uninitialized variable 'l' is used.
  Evaluating: p

delete p:

Пример 5

NIL может быть присвоен идентификатору или индексируемому идентификатору как любое другое значение. Такое присвоение больше не удаляет значение идентификатора:

a := NIL:  b[1] := NIL:  a, b[1]

delete a, b:

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

Функции MuPAD