String 函数删除剪辑中的重复字符串

String 函数删除剪辑中的重复字符串,string,clips,String,Clips,是否存在于剪辑中,用于删除重复字符串的函数? 示例:我有以下结构: 我只需要保持一个[质量][舒适]。这些变量存储在变量中,如下所示: “[”?tpe1“]”“[”?tpic1“]”“[”?语法类型“]”“[”?语法主题“]”” 以下是要写入文件的代码: 有人能帮我吗?如果这是您最初的方法: CLIPS> (deftemplate synonymoustype (slot id) (slot type) (slot syntype)) CLIPS> (de

是否存在于剪辑中,用于删除重复字符串的函数? 示例:我有以下结构:

我只需要保持一个[质量][舒适]。这些变量存储在变量中,如下所示: “[”?tpe1“]”“[”?tpic1“]”“[”?语法类型“]”“[”?语法主题“]””

以下是要写入文件的代码:


有人能帮我吗?

如果这是您最初的方法:

CLIPS> 
(deftemplate synonymoustype
   (slot id)
   (slot type)
   (slot syntype))
CLIPS>    
(deftemplate synonymoustopic
   (slot id)
   (slot topic)
   (slot syntopic))
CLIPS>    
(deffacts initial
   (synonymoustype (id 1) (type quality) (syntype caliber))
   (synonymoustype (id 2) (type quality) (syntype caliber))
   (synonymoustype (id 4) (type quality) (syntype character))
   (synonymoustype (id 4) (type quality) (syntype linament))
   (synonymoustype (id 5) (type quality) (syntype timbre))
   (synonymoustopic (id 6) (topic comfort) (syntopic console)))
CLIPS> 
(defrule rulesoftgoal
   (declare (salience 55))
   (synonymoustype
      (type ?type)
      (syntype ?syntype ))
   (synonymoustopic
      (topic ?topic)
      (syntopic ?syntopic))
   =>
   (printout t "[" ?type "]" " [" ?topic "]" " [" ?syntype "]" " [" ?syntopic "]" crlf))
CLIPS> (reset)
CLIPS> (run)
[quality] [comfort] [caliber] [console]
[quality] [comfort] [caliber] [console]
[quality] [comfort] [character] [console]
[quality] [comfort] [linament] [console]
[quality] [comfort] [timbre] [console]
CLIPS>
这里有一种防止打印副本的方法:

CLIPS>    
(deftemplate synonymoustype
   (slot id)
   (slot type)
   (slot syntype))
CLIPS>    
(deftemplate synonymoustopic
   (slot id)
   (slot topic)
   (slot syntopic))
CLIPS>    
(deffacts initial
   (synonymoustype (id 1) (type quality) (syntype caliber))
   (synonymoustype (id 2) (type quality) (syntype caliber))
   (synonymoustype (id 4) (type quality) (syntype character))
   (synonymoustype (id 4) (type quality) (syntype linament))
   (synonymoustype (id 5) (type quality) (syntype timbre))
   (synonymoustopic (id 6) (topic comfort) (syntopic console)))
CLIPS> 
(defrule rulesoftgoal
   (declare (salience 55))
   (synonymoustype
      (type ?type)
      (syntype ?syntype ))
   (synonymoustopic
      (topic ?topic)
      (syntopic ?syntopic))
   =>
   (assert (print-string (str-cat "[" ?type "]" " [" ?topic "]" " [" ?syntype "]" " [" ?syntopic "]"))))
CLIPS> 
(defrule rulesoftgoal-print
   ?f <- (print-string ?string)
   =>
   (retract ?f)
   (printout t ?string crlf))
CLIPS> (reset)
CLIPS> (run)
[quality] [comfort] [timbre] [console]
[quality] [comfort] [linament] [console]
[quality] [comfort] [character] [console]
[quality] [comfort] [caliber] [console]
CLIPS> 
CLIPS> 
(deftemplate synonymoustype
   (slot id)
   (slot type)
   (slot syntype))
CLIPS>    
(deftemplate synonymoustopic
   (slot id)
   (slot topic)
   (slot syntopic))
CLIPS>    
(deffacts initial
   (synonymoustype (id 1) (type quality) (syntype caliber))
   (synonymoustype (id 2) (type quality) (syntype caliber))
   (synonymoustype (id 4) (type quality) (syntype character))
   (synonymoustype (id 4) (type quality) (syntype linament))
   (synonymoustype (id 5) (type quality) (syntype timbre))
   (synonymoustopic (id 6) (topic comfort) (syntopic console)))
CLIPS> 
(defrule rulesoftgoal
   (declare (salience 55))
   (synonymoustype
      (type ?type)
      (syntype ?syntype ))
   (synonymoustopic
      (topic ?topic)
      (syntopic ?syntopic))
   =>
   (printout t "[" ?type "]" " [" ?topic "]" " [" ?syntype "]" " [" ?syntopic "]" crlf))
CLIPS> (reset)
CLIPS> (run)
[quality] [comfort] [caliber] [console]
[quality] [comfort] [caliber] [console]
[quality] [comfort] [character] [console]
[quality] [comfort] [linament] [console]
[quality] [comfort] [timbre] [console]
CLIPS>
CLIPS>    
(deftemplate synonymoustype
   (slot id)
   (slot type)
   (slot syntype))
CLIPS>    
(deftemplate synonymoustopic
   (slot id)
   (slot topic)
   (slot syntopic))
CLIPS>    
(deffacts initial
   (synonymoustype (id 1) (type quality) (syntype caliber))
   (synonymoustype (id 2) (type quality) (syntype caliber))
   (synonymoustype (id 4) (type quality) (syntype character))
   (synonymoustype (id 4) (type quality) (syntype linament))
   (synonymoustype (id 5) (type quality) (syntype timbre))
   (synonymoustopic (id 6) (topic comfort) (syntopic console)))
CLIPS> 
(defrule rulesoftgoal
   (declare (salience 55))
   (synonymoustype
      (type ?type)
      (syntype ?syntype ))
   (synonymoustopic
      (topic ?topic)
      (syntopic ?syntopic))
   =>
   (assert (print-string (str-cat "[" ?type "]" " [" ?topic "]" " [" ?syntype "]" " [" ?syntopic "]"))))
CLIPS> 
(defrule rulesoftgoal-print
   ?f <- (print-string ?string)
   =>
   (retract ?f)
   (printout t ?string crlf))
CLIPS> (reset)
CLIPS> (run)
[quality] [comfort] [timbre] [console]
[quality] [comfort] [linament] [console]
[quality] [comfort] [character] [console]
[quality] [comfort] [caliber] [console]
CLIPS> 
CLIPS>    
(deftemplate synonymoustype
   (slot id)
   (slot type)
   (slot syntype))
CLIPS>    
(deftemplate synonymoustopic
   (slot id)
   (slot topic)
   (slot syntopic))
CLIPS>    
(deffacts initial
   (synonymoustype (id 1) (type quality) (syntype caliber))
   (synonymoustype (id 2) (type quality) (syntype caliber))
   (synonymoustype (id 4) (type quality) (syntype character))
   (synonymoustype (id 4) (type quality) (syntype linament))
   (synonymoustype (id 5) (type quality) (syntype timbre))
   (synonymoustopic (id 6) (topic comfort) (syntopic console)))
CLIPS> 
(defrule rulesoftgoal
   (declare (salience 55))
   (synonymoustype
      (type ?type)
      (syntype ?syntype ))
   (synonymoustopic
      (topic ?topic)
      (syntopic ?syntopic))
   (not (already-printed ?type ?topic ?syntype ?syntopic))
   =>
   (assert (already-printed ?type ?topic ?syntype ?syntopic))
   (printout t "[" ?type "]" " [" ?topic "]" " [" ?syntype "]" " [" ?syntopic "]" crlf))
CLIPS> (reset)
CLIPS> (run)
[quality] [comfort] [caliber] [console]
[quality] [comfort] [character] [console]
[quality] [comfort] [linament] [console]
[quality] [comfort] [timbre] [console]
CLIPS>