En Tue, 04 Sep 2007 15:03:16 -0300, Carnell, James E <[EMAIL PROTECTED]> escribi�:
> MY QUESTION: > What is a slot? In class Object below the __init__ has a slot. Note: > The slot makes use of a data object called 'percept' that is used in the > TableDrivenAgent(Agent) at the bottom of this post. I am guessing this > is a type of Finite State Machine (I haven't bought the book yet so I am > guessing). The authors appear to be using the term in a very general sense - meaning "something that has to be filled in". That is, you (the programmer) is supposed to "fill" the slot with meaningful code or data. > [...] You subclass Object to get the objects you want. Each object can > have a .__name__ slot (used for output only). > [...] An Agent is a subclass of Object with one required slot, > .program, which should hold a function that takes one argument, the > percept, and returns an action. Note that 'program' is a slot, not a > method. Here they're trying to bind a simple function (not a method) to a name. I don't see the point in forcing things that way, maybe the authors have good reasons. But I'd use a staticmethod instead, perhaps. Note: The C Python source code does use "slots", fields in a structure holding function pointers. For example, filling the nb_add slot in a type object, one can evaluate a+b for instances of that type. -- Gabriel Genellina -- http://mail.python.org/mailman/listinfo/python-list