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
теперь является допустимым значением идентификатора и действительным доступом таблицы.
В отличие от “пустого объекта”, возвращенного null
, NIL
не удален из списков и наборов:
[1, NIL, 2, NIL], [1, null(), 2, null()], {1, NIL, 2, NIL}, {1, null(), 2, null()}
NIL
используется, чтобы представлять “недостающие” записи процедур. Например, самая простая вообразимая процедура имеет следующие операнды:
op(proc() begin end)
Первый NIL
, например, представляет список пустых аргументов, второе пустой список локальных переменных и третьего пустое множество опций процедуры.
Элементы массива инициализируются с NIL
если не заданный в противном случае. Обратите внимание, однако, что индексный доступ для таких элементов приводит к индексируемому выражению:
A := array(1..2): A[1], op(A,1)
delete A:
Локальные переменные в процедурах неявно инициализируются с NIL
. Однако, предупреждение распечатано, если вы используете переменную, явным образом не инициализируя его:
p := proc() local l; begin print(l) end: p():
Warning: Uninitialized variable 'l' is used. Evaluating: p
delete p:
NIL
может быть присвоен идентификатору или индексируемому идентификатору как любое другое значение. Такое присвоение больше не удаляет значение идентификатора:
a := NIL: b[1] := NIL: a, b[1]
delete a, b: