在SWI Prolog中使用split_string

时间:2014-11-26 17:37:21

标签: swi-prolog

在prolog中执行以下查询: -

split_string("/usr/local/eclipse", "/", "", [H|T]), split_string(T, "", "", X), write(X)

错误是

ERROR: split_string/4: Type error: `character_code' expected, found `"usr"' (a string)

我无法解决它。请帮忙!。

1 个答案:

答案 0 :(得分:2)

split_string(+String, +SepChars, +PadChars, -SubStrings)中的字符串变量旨在包含 charcodes列表。在你的例子中

split_string("/usr/local/eclipse", "/", "", [H|T]).
H = "",
T = ["usr", "local", "eclipse"].

所以T是一个字符列表。这就是为什么查询的下一部分出现错误的原因:

split_string(T, "", "", X), write(X)

我不知道您的代码打算做什么,所以我无法提出修复代码的方法。