何时在 CLIPS 中使用字符串或符号

When to use strings or symbols in CLIPS

我现在开始学习CLIPS,问自己什么时候用符号更好,什么时候用字符串?

乍一看,符号比较受欢迎,因为它们比字符串更容易比较。

(eq test test)

(= (str-compare "test" "test") 0)

它也有缺点吗?

与字符串相比,符号的优点是您可以少输入两个字符(引号)。与字符串相比,符号的缺点是不允许使用某些定界符(特别是 space 字符)。 str-compare 函数主要用于按字母排序。对于相等性测试,您可以使用 eq:

CLIPS> (eq "test" "test")
TRUE
CLIPS> (eq "test" "nottest")
FALSE
CLIPS>