Объекты ячеек

Объекты «Cell» используются для реализации переменных, на которые ссылаются несколько диапазонов. Для каждой такой переменной создается объект ячейки для хранения значения; локальные переменные каждого фрейма стека, который ссылается на значение, содержат ссылки на ячейки внешних диапазонов, которые также используют эту переменную. При обращении к значению используется значение, содержащееся в ячейке, а не сам объект ячейки. Эта отмена ссылок на объект ячейки требует поддержки со стороны генерируемого байт-кода; они не отменяются автоматически при обращении к ним. Объекты ячеек вряд ли будут полезны в других местах.

type PyCellObject

Структура языка C, используемая для объектов ячеек.

PyTypeObject PyCell_Type

Объект типа, соответствующий объектам ячеек.

int PyCell_Check(PyObject *ob)

Возвращает true, если ob является объектом ячейки; ob не должен быть NULL. Эта функция всегда успешна.

PyObject *PyCell_New(PyObject *ob)
Возвращаемое значение: Новая ссылка.

Создает и возвращает новый объект ячейки, содержащий значение ob. Параметром может быть NULL.

PyObject *PyCell_Get(PyObject *cell)
Возвращаемое значение: Новая ссылка.

Возвращает содержимое ячейки cell.

PyObject *PyCell_GET(PyObject *cell)
Возвращаемое значение: Заимствованная ссылка.

Возвращает содержимое ячейки cell, но без проверки того, что cell не является``NULL`` и объектом ячейки.

int PyCell_Set(PyObject *cell, PyObject *value)

Установите содержимое объекта ячейки cell в значение value. Это освобождает ссылку на текущее содержимое ячейки. Значение может быть NULL. cell должен быть не``NULL``; если это не объект ячейки, будет возвращено -1. В случае успеха будет возвращено 0.

void PyCell_SET(PyObject *cell, PyObject *value)

Устанавливает значение объекта ячейки cell в value. Никакие подсчеты ссылок не корректируются, и никаких проверок безопасности не производится; cell должен быть не``NULL`` и должен быть объектом ячейки.