J'expérimente avec PyClips et je veux l'intégrer étroitement avec Python, de sorte que lorsqu'une règle est activée, elle appelle une fonction python.Comment activer une règle pour appeler une fonction python, en utilisant PyClips
Voici ce que j'ai jusqu'à présent:
import clips
def addf(a, b):
return a + b
clips.RegisterPythonFunction(addf)
clips.Build("""
(defrule duck
(animal-is duck)
=>
(assert (sound-is quack))
(printout t "it’s a duck" crlf))
(python-call addf 40 2)
""")
Cependant, quand j'affirme le fait 'animal est canard', ma fonction python n'est pas appelé:
>>> clips.Assert("(animal-is duck)")
<Fact 'f-0': fact object at 0x7fe4cb323720>
>>> clips.Run()
0
Qu'est-ce que Je fais mal?
CLIPS! J'ai aimé utiliser ça. Je ne peux rien ajouter d'utile, cela semble correct dans la mesure où les CLIP vont. – Joe
essayez de coller quelque chose de diagnostic dans votre fonction pour être sûr qu'il ne fonctionne pas. 'import pdb; pdb.set_trace()' ou similaire – Joe