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: