Weis einer von Euch wie ich in Cython ein als 'const' deklariertes Klassenattribut mit einem Parameter der __init__ / __cinit__ Methode initialisieren kann ?
Im folgenden Code
[codebox=python file=PrimModulo.pyx]
cdef class prim_modulo:
cdef public const long teiler
cdef long vielfache
def __cinit__(self, const long teiler):
self.teiler = teiler
self.vielfache = teiler + teiler
def mod(self, const long zahl):
cdef long dif
while True:
dif = zahl - self.vielfache
if dif > 0:
self.vielfache = self.vielfache + self.teiler
else:
return dif == 0
[/code]
wird bemängelt:
Ich kann mich entfernt erinnern das die __init__ Methode kein echter Konstruktor ist.PrimModulo.pyx:10:12: Assignment to const attribute 'teiler'
Wie bekomme ich den Member Konstant und initialisiert ?