这个语法是什么意思?(序言)

Rya*_*yan 4 prolog

我一直在尝试学习Prolog,并在一些示例代码中遇到了这种语法.

solve(Hs) :- Hs = [_,_,_,_,_],
    member(h(_, _, _, _, dog), Hs).
Run Code Online (Sandbox Code Playgroud)

这只是代码的一部分,但我对它的确困惑h(_,_,_,_,dog).

任何帮助将不胜感激!

Jef*_*ado 6

下划线_表明该位置存在价值,但我们并不关心它.

第一部分实际上说这Hs是一个5项目清单.第二部分说,在该列表中Hs,其中一个项是复合项h/5(h有5个子项),其中最后一个是原子,dog.