序言中的 _ 和 _variable 有什么区别?

What is the difference between _ and _variable in prolog?

对于以 _ 开头的文字,例如 _Peter,我遇到了很多问题。那么到底有什么区别呢:

good(_,_).

good(_,_Peter).

感谢您回答我的问题!

_单独是一个匿名变量。同一子句(或同一读词)中的多次出现代表不同的变量。

_开头但包含更多字符的变量不是匿名变量。多次出现代表同一个变量。

按照惯例,许多 Prolog 系统要求只出现一次的变量需要以 _ 开头。但这是在大多数实现中仅导致警告的惯例。