Prolog 接线员是,名单

Prolog 接线员是,名单,prolog,Prolog,我使用此功能: f(V):-V is [1,2,3,4,5]. 但我有一个错误: ERROR: '.'/2: Type error: `[]' expected, found `[2,3,4,5]' ("x" must hold one character) 需要修复什么?是/2中缀运算符用于计算算术表达式 似乎您想用一个不是算术表达式(在本例中是一个列表)的术语统一变量V,因此您应该使用相等运算符(=) 或者直接统一到程序的头部: f([1,2,3,4,5]). 我认为您的代码表明f/1

我使用此功能:

f(V):-V is [1,2,3,4,5].
但我有一个错误:

ERROR: '.'/2: Type error: `[]' expected, found `[2,3,4,5]' ("x" must hold one character)

需要修复什么?

是/2
中缀运算符用于计算算术表达式

似乎您想用一个不是算术表达式(在本例中是一个列表)的术语统一变量V,因此您应该使用相等运算符(
=

或者直接统一到程序的头部:

f([1,2,3,4,5]).

我认为您的代码表明f/1需要在一小部分数字中枚举。如果这是真的,你应该改为写

f(V) :- member(V, [1,2,3,4,5]).

然后在调用
f(X)
X时,X将绑定(回溯)列出的值。

视情况而定。你期望代码做什么?
f(V) :- member(V, [1,2,3,4,5]).