شیءهای سلول¶
از اشیاء "Cell" برای پیادهسازی متغیرهایی استفاده میشود که توسط چندین محدوده به آنها ارجاع میشود. برای هر یک از چنین متغیرهایی، یک شیء سلول برای ذخیرهی مقدار ایجاد میشود؛ متغیرهای محلیِ هر فریم پشته که به این مقدار ارجاع میکند، ارجاعی به سلولهای محدودههای بیرونیای که آن محدودهها نیز از آن متغیر استفاده میکنند را در خود دارند. هنگامی که به مقدار دسترسی میشود، مقدارِ موجود در سلول بهجای خودِ شیء سلول استفاده میشود. این ارجاعزدایی (de-referencing) از شیء سلول نیازمند پشتیبانی از سوی بایتکدِ تولیدشده است؛ این اشیاء هنگام دسترسی بهطور خودکار ارجاعزدایی نمیشوند. اشیاء سلول به احتمال زیاد در جای دیگری مفید نخواهند بود.
-
type PyCellObject¶
ساختار C استفادهشده برای شیءهای سلول .
-
PyTypeObject PyCell_Type¶
شیء نوعِ متناظر با شیءهای سلول .
-
int PyCell_Check(PyObject *ob)¶
اگر ob یک شیء سلول باشد، true را برمیگرداند؛ ob نباید
NULLباشد. این تابع همیشه موفق است.
-
PyObject *PyCell_New(PyObject *ob)¶
- مقدار بازگشتی: مرجع جدید.
یک شیء سلول جدید حاوی مقدار ob ایجاد کنید و آن را برگردانید. این پارامتر میتواند
NULLباشد.
-
PyObject *PyCell_Get(PyObject *cell)¶
- مقدار بازگشتی: مرجع جدید.
محتویات سلول cell را برمیگرداند که میتواند
NULLباشد. اگر cell یک شیء سلول نباشد،NULLهمراه با یک استثنای تنظیمشده برمیگرداند.
-
PyObject *PyCell_GET(PyObject *cell)¶
- مقدار بازگشتی: مرجع امانتی.
محتوای سلول cell را بازمیگرداند، اما بدون بررسی اینکه cell غیر
NULLو یک شیء سلول باشد.
-
int PyCell_Set(PyObject *cell, PyObject *value)¶
محتوای شیء سلول cell را بر value قرار میدهد. این کار، ارجاع به هر محتوای فعلی سلول را آزاد میکند. value میتواند
NULLباشد. cell باید غیرNULLباشد.در صورت موفقیت،
0را برمیگرداند. اگر cell یک شیء سلول نباشد، یک استثنا تنظیم کرده و-1را برمیگرداند.