私はPyClipsを実験しています。ルールをアクティブにするとPython関数を呼び出すように、Pythonと密接に統合したいと思います。ここでPyClipsを使用してPython関数を呼び出すためのルールアクティベーションを取得する方法
は、私がこれまで持っているものです。私は事実を主張するとき
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)
""")
はしかし、私のPythonの関数が呼び出されていない「アヒル動物は-ある」:
>>> clips.Assert("(animal-is duck)")
<Fact 'f-0': fact object at 0x7fe4cb323720>
>>> clips.Run()
0
何午前私は間違っている?
CLIPS!私はそれを愛していました。私は何か役に立つものを寄付することはできません.CLIPsが行っている限り正しいです。 – Joe
あなたの関数に何か診断を貼り付けて、実行していないことを確認してください。 'import pdb; pdb.set_trace()'など – Joe