CLIPS-变量
来源:互联网 发布:mac如何下载单机游戏 编辑:程序博客网 时间:2024/05/18 20:37
一、
1、变量声明方式为?加变量名,如?name
2、一个变量首次约束于某一值时,该变量在此规则内使保持该值。其他同名的变量必须约束为第一个变量的值,如下面操作中的?eyes
3、在LHS(前件)没有约束,但在RHS引用,将会报错。
4、下列例子查找所有眼睛为蓝色的人。 CLIPS (Quicksilver Beta 09/24/07)
CLIPS> (clear)
CLIPS> (reset)
CLIPS> (deftemplate find (slot eye))
CLIPS> (deftemplate person(slot name)(sloteye))
CLIPS> (defrule findeye
(find (eye ?eyes))
(person (name ?name)(eye ?eyes))
=>
(printout t ?name " has" ?eyes " eyes." crlf)
)
CLIPS> (save "D:/VV.CLP")
TRUE
CLIPS> (run)
CLIPS> (agenda)
CLIPS> (facts)
f-0 (initial-fact)
For a total of 1 fact.
CLIPS> (assert (person (name "zhangsan") (eyeblue))
(person (name "zhanghua") (eye blue))
(person (name "zhengyu") ( eye black)))
<Fact-3>
CLIPS> (facts)
f-0 (initial-fact)
f-1 (person (name "zhangsan") (eye blue))
f-2 (person (name "zhanghua") (eye blue))
f-3 (person (name "zhengyu") (eye black))
For a total of 4 facts.
CLIPS> (assert (find (eye blue)))
<Fact-4>
CLIPS> (facts)
f-0 (initial-fact)
f-1 (person (name "zhangsan") (eye blue))
f-2 (person (name "zhanghua") (eye blue))
f-3 (person (name "zhengyu") (eye black))
f-4 (find (eye blue))
For a total of 5 facts.
CLIPS> (agenda)
0 findeye: f-4,f-2
0 findeye: f-4,f-1
For a total of 2 activations.
CLIPS> (run)
zhanghua has blue eyes.
zhangsan has blue eyes.
二、操作
CLIPS (Quicksilver Beta 09/24/07)
CLIPS> (clear)
CLIPS> (reset)
CLIPS> (deftemplate find (slot eye))
CLIPS> (defrule findeye
(find eye ?eyes)
(person (name ?name)(eyes ?eyes))
=>
(printout t ?name "has" ?eyes "eyes." crlf)
)
[PRNTUTIL2] Syntax Error: Check appropriatesyntax for deftemplate patterns.
ERROR:
(defrule MAIN::findeye
(find eye
CLIPS> (defrule findeye
(find (eye ?eyes))
(person (name ?name)(eyes ?eyes))
=>
(printout t ?name "has" ?eyes "eyes." crlf)
)
[PRNTUTIL2] Syntax Error: Check appropriatesyntax for defrule.
ERROR:
(defrule MAIN::findeye
(find (eye ?eyes))
(person (
CLIPS> (deftemplate person(slot name)(sloteye))
CLIPS> (defrule findeye
(find (eye ?eyes))
(person (name ?name)(eyes ?eyes))
=>
(printout t ?name "has" ?eyes "eyes." crlf)
)
[TMPLTDEF1] Invalid slot eyes not defined in correspondingdeftemplate person.
ERROR:
(defrule MAIN::findeye
(find (eye ?eyes))
(person (name ?name)(eyes
CLIPS> (defrule findeye
(find (eye ?eyes))
(person (name ?name)(eye ?eyes))
=>
(printout t ?name "has" ?eyes "eyes." crlf)
)
CLIPS> (save "D:/VV.CLP")
TRUE
CLIPS> (run)
CLIPS> (agenda)
CLIPS> (facts)
f-0 (initial-fact)
For a total of 1 fact.
CLIPS> (assert person (name "zhangsan" eyeblue)
person (name "zhanghua" eye blue)
person (name "zhengyu" eye black))
[PRNTUTIL2] Syntax Error: Check appropriatesyntax for RHS patterns.
CLIPS> (assert (person (name "zhangsan") (eyeblue))
(person (name "zhanghua") (eye blue))
(person (name "zhengyu") ( eye black)))
<Fact-3>
CLIPS> (facts)
f-0 (initial-fact)
f-1 (person (name "zhangsan") (eye blue))
f-2 (person (name "zhanghua") (eye blue))
f-3 (person (name "zhengyu") (eye black))
For a total of 4 facts.
CLIPS> (assert find (eye blue))
[PRNTUTIL2] Syntax Error: Check appropriatesyntax for RHS patterns.
CLIPS> (assert (find (eye blue)))
<Fact-4>
CLIPS> (facts)
f-0 (initial-fact)
f-1 (person (name "zhangsan") (eye blue))
f-2 (person (name "zhanghua") (eye blue))
f-3 (person (name "zhengyu") (eye black))
f-4 (find (eye blue))
For a total of 5 facts.
CLIPS> (agenda)
0 findeye: f-4,f-2
0 findeye: f-4,f-1
For a total of 2 activations.
CLIPS> (run)
zhanghuahasblueeyes.
zhangsanhasblueeyes.
- CLIPS-变量
- CLIPS-多字段变量
- 人工智能clips
- clips程序
- CLIPS-焦点
- CLIPS-模块
- CLIPS-绑定
- CLIPS-断点
- CLIPS-监视
- clips系列二-clips调用外部函数
- CLIPS程式技巧
- CLIPS-自动焦点
- CLIPS-控制策略
- CLIPS-规则优先级
- CLIPS-自定义模板属性
- CLIPS-测试条件元素
- CLIPS-谓词字段约束
- CLIPS-返回字段约束
- 以SOA统一化思想建设大型企业的IT系统
- 7大Web2.0新特性(转载)
- Coherence企业级缓存
- CLIPS-单字通配符
- CLIPS-事实地址
- CLIPS-变量
- NAT配置与测试
- 优秀驾驶员开车技巧
- CLIPS-多字段变量
- 《一个月挑战C++》改错(连载)
- CLIPS-断点
- SQL Server 索引结构及其使用(三)
- 类的定义
- CLIPS-多模式规则、调入和保存结构、注释