第三部分:第14章内部论域、谓词和常量 14.3内部论域详解 e facto 命名内部数据库的描述符。 该论域有如下的隐藏声明 domains factdb= struct @factdb( named_internal_database_domain, object 所有用户定义的事实段的名字都是该论域中的常数。只要有必要,编译器 自动从这些常数中建立相应的混合项。运行时,这一结构的第一个字段 包含相应论域描述符的地址,第二个字段包含着零(对于类事实段而言) 或指向对象的指针This(对于对象事实段而言)。 2004.11.3 A|程序设计 16
第三部分:第14章 内部论域、谓词和常量 2004.11.3 AI程序设计 16 14.3 内部论域详解 ::factdb 命名内部数据库的描述符。 该论域有如下的隐藏声明: domains factdb = struct @factdb( named_internal_database_domain, ::object ). 所有用户定义的事实段的名字都是该论域中的常数。只要有必要,编译器 会自动从这些常数中建立相应的混合项。运行时,这一结构的第一个字段 包含相应论域描述符的地址,第二个字段包含着零(对于类事实段而言) 或指向对象的指针This(对于对象事实段而言)
第三部分:第14章内部论域、谓词和常量 14.4内部谓词详解 本节按字母顺序,详细解读 isual Prolog的内部谓词。 *//2 乘法算术运算。乘法既可应用于整数也可应用于浮点数。若操作数之一为浮点数, 则结果也是浮点数 +//2 加法算术运算。加法既可应用于整数也可应用于浮点数。若操作数之一为浮点数, 则结果也是浮点数。 -//2 减法算术运算。减法既可应用于整数也可应用于浮点数。若操作数之一为浮点数, 则结果也是浮点数。 !///2 除法算术运算。除法既可应用于整数也可应用于浮点数,结果总是浮点数 2004.11.3 A|程序设计 17
第三部分:第14章 内部论域、谓词和常量 2004.11.3 AI程序设计 17 14.4 内部谓词详解 本节按字母顺序,详细解读Visual Prolog的内部谓词。 ::* //2 乘法算术运算。乘法既可应用于整数也可应用于浮点数。若操作数之一为浮点数, 则结果也是浮点数。 ::+ //2 加法算术运算。加法既可应用于整数也可应用于浮点数。若操作数之一为浮点数, 则结果也是浮点数。 ::- //2 减法算术运算。减法既可应用于整数也可应用于浮点数。若操作数之一为浮点数, 则结果也是浮点数。 ::/ //2 除法算术运算。除法既可应用于整数也可应用于浮点数,结果总是浮点数
第三部分:第14章内部论域、谓词和常量 14.4内部谓词详解 e:assert/1 assert/1 procedure o 在被匹配的内部事实数据库的底部插入指定事实。 assert(Fact)谓词在被匹配 的内部事实数据库插入一个事实,插入点位于为相应的数据库谓词存储的其他任 何事实之后。该事实必须是一个属于内部事实数据库论域的项。用于单个事实的 assert/1将已有事实的实例变为指定的事实。 assert/1与 assert/1的作用相同。 参见 assert/1。 异常 对声明为 determ的事实进行声明,但该事实实例已经存在 2004.11.3 A|程序设计 18
第三部分:第14章 内部论域、谓词和常量 2004.11.3 AI程序设计 18 14.4 内部谓词详解 ::assert/1 assert/1 procedure (i). 在被匹配的内部事实数据库的底部插入指定事实。assert(Fact) 谓词在被匹配 的内部事实数据库插入一个事实,插入点位于为相应的数据库谓词存储的其他任 何事实之后。该事实必须是一个属于内部事实数据库论域的项。用于单个事实的 assert/1将已有事实的实例变为指定的事实。assert/1与assertz/1的作用相同。 参见assertz/1。 异常 对声明为determ的事实进行声明,但该事实实例已经存在
第三部分:第14章内部论域、谓词和常量 14.4内部谓词详解 ':asserta/1 asserta/1 procedure (i 在被匹配的内部事实数据库顶部插入事实。 asserta(Fact)谓词在被匹配的内部 事实数据库插入一个事实,插入点位于为相应谓词存储的其他任何事实之前。该 事实必须是一个属于内部事实数据库论域的项。用于单个事实的 asserta/1将已 有事实的实例变为指定的事实。参见 assert/1和 assert/1。 异常 对声明为 determ的事实进行声明,但该事实实例已经存在 2004.11.3 A|程序设计
第三部分:第14章 内部论域、谓词和常量 2004.11.3 AI程序设计 19 14.4 内部谓词详解 ::asserta/1 asserta/1 procedure (i). 在被匹配的内部事实数据库顶部插入事实。asserta(Fact) 谓词在被匹配的内部 事实数据库插入一个事实,插入点位于为相应谓词存储的其他任何事实之前。该 事实必须是一个属于内部事实数据库论域的项。用于单个事实的asserta/1将已 有事实的实例变为指定的事实。参见assert/1和assertz/1。 异常 对声明为determ 的事实进行声明,但该事实实例已经存在
第三部分:第14章内部论域、谓词和常量 14.4内部谓词详解 e :assert/1 assert/1 procedure (i). 在匹配内部事实数据库底插入事实。 assert(Fact)谓词在被匹配的内部事实 数据库插入一个事实,插入点位于为相应的数据库谓词存储的其他任何事实之后。 该事实必须是一个属于内部事实数据库论域的项。用于单个事实的 assert/1将 已有事实的实例变为指定的事实。参见 assert/1和 asserta/1。 异常 对声明为 determ的事实进行声明,但该事实实例已经存在 2004.11.3 A|程序设计 20
第三部分:第14章 内部论域、谓词和常量 2004.11.3 AI程序设计 20 14.4 内部谓词详解 ::assertz/1 assertz/1 procedure (i). 在匹配内部事实数据库底插入事实。assertz(Fact) 谓词在被匹配的内部事实 数据库插入一个事实,插入点位于为相应的数据库谓词存储的其他任何事实之后。 该事实必须是一个属于内部事实数据库论域的项。用于单个事实的assertz/1将 已有事实的实例变为指定的事实。参见assert/1和asserta/1。 异常 对声明为determ的事实进行声明,但该事实实例已经存在