["Followup-To:" nach gmane.comp.mathematics.sage.devel gesetzt.]
On 2016-10-11, Simon King <[email protected]> wrote:
> Hi Jeroen,
>
> On 2016-10-10, Jeroen Demeyer <[email protected]> wrote:
>> Maybe I'm misunderstanding you, but what I wanted to say is: Python 3
>> doesn't have any place to hook a custom metaclass.
>
> Is there a way to have a metaclass similar to our ClasscallMetaclass at
> all, in Python3?? I just tested, having
>
> class Classcall(type):
> def __call__(cls, *args, **opts):
> try:
> classcall = cls.__classcall__
> except AttributeError:
> return type.__call__(cls, *args, **opts)
> return classcall(cls, *args, **opts)
>
> class MyUniqueRepresentation:
> __metaclass__ = Classcall
Found it! In Python3, one has to write
class MyUniqueRepresentation(metaclass=Classcall):
...
and then it works. The same is a syntax error in Python2.
Anyway. Since SageMath meanwhile makes use of more and more metaclasses,
I created trac ticket #21681 for the introduction of a metaclass
framework.
Best regards,
Simon
--
You received this message because you are subscribed to the Google Groups
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.