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]).