たとえば、Prolog 宣言の次の行がある場合:
move(state(middle, onbox, middle, hasnot),
grasp,
state(middle, onbox, middle, has)).
移動ファンクターと状態ファンクターの両方ですか?
私は事実、ファンクター、用語などにちょっと混乱しています...
たとえば、Prolog 宣言の次の行がある場合:
move(state(middle, onbox, middle, hasnot),
grasp,
state(middle, onbox, middle, has)).
移動ファンクターと状態ファンクターの両方ですか?
私は事実、ファンクター、用語などにちょっと混乱しています...
はい、move
ファンstate
クターです。ファンクターがF
入っていF(Term1, ...)
ます。しかし、それらは事実ではありません。あなたの場合、完全な線である事実は 1 つしかありません。
ファンクターは用語を記述しますが、用語自体ではなく (命令型言語のメソッド シグネチャのように)、構造体または述語の名前とアリティで構成されます。
あなたの例では、ファンクターはmove/3
とstate/4
です。
と には異なる関手があり、とfoo(a)
があることに注意してください。foo(a,b)
foo/1
foo/2