Объекты клеток

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

type PyCellObject

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

PyTypeObject PyCell_Type

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

int PyCell_Check(ob)

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

PyObject *PyCell_New(PyObject *ob)
Return value: New reference.

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

PyObject *PyCell_Get(PyObject *cell)
Return value: New reference.

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

PyObject *PyCell_GET(PyObject *cell)
Return value: Borrowed reference.

Возвращает содержимое ячейки 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`` и должен быть объектом ячейки.

Вернуться на верх