[Python-checkins] CVS: python/dist/src/Objects descrobject.c,2.4,2.5

Guido van Rossum gvanrossum@users.sourceforge.net
2001年8月24日 02:55:54 -0700


Update of /cvsroot/python/python/dist/src/Objects
In directory usw-pr-cvs1:/tmp/cvs-serv27168
Modified Files:
	descrobject.c 
Log Message:
getset_init(): make the arguments optional.
getset_doc: add docstring.
Index: descrobject.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Objects/descrobject.c,v
retrieving revision 2.4
retrieving revision 2.5
diff -C2 -d -r2.4 -r2.5
*** descrobject.c	2001年08月23日 21:39:17	2.4
--- descrobject.c	2001年08月24日 09:55:51	2.5
***************
*** 917,924 ****
 getset_init(PyObject *self, PyObject *args, PyObject *kwds)
 {
! 	PyObject *get, *set;
 	getsetobject *gs = (getsetobject *)self;
 
! 	if (!PyArg_ParseTuple(args, "OO:getset.__init__", &get, &set))
 		return -1;
 	if (get == Py_None)
--- 917,924 ----
 getset_init(PyObject *self, PyObject *args, PyObject *kwds)
 {
! 	PyObject *get = NULL, *set = NULL;
 	getsetobject *gs = (getsetobject *)self;
 
! 	if (!PyArg_ParseTuple(args, "|OO:getset.__init__", &get, &set))
 		return -1;
 	if (get == Py_None)
***************
*** 933,936 ****
--- 933,944 ----
 }
 
+ static char getset_doc[] =
+ "getset([getfunc[, setfunc]]) -> getset attribute\n"
+ "Typical use to define a managed attribute x of C instances:\n"
+ "class C(object):\n"
+ " def getx(self): return self.__x\n"
+ " def setx(self, value): self.__x = value\n"
+ " x = getset(getx, setx)";
+ 
 PyTypeObject PyGetSet_Type = {
 	PyObject_HEAD_INIT(&PyType_Type)
***************
*** 956,960 ****
 	0,					/* tp_as_buffer */
 	Py_TPFLAGS_DEFAULT,			/* tp_flags */
! 	0,					/* tp_doc */
 	0,					/* tp_traverse */
 	0,					/* tp_clear */
--- 964,968 ----
 	0,					/* tp_as_buffer */
 	Py_TPFLAGS_DEFAULT,			/* tp_flags */
! 	getset_doc,				/* tp_doc */
 	0,					/* tp_traverse */
 	0,					/* tp_clear */

AltStyle によって変換されたページ (->オリジナル) /