加入机器人自由开放源码项目 BotLibre.org
Self, AIML, and scripting : Evaluation flow, declaring new :response sentences and miscelany

RE: Evaluation flow, declaring new :response sentences and miscelany

通过 admin 发布 Jan 23 2015, 8:32

Variable can be used for two purposes, the first is to match words or data in a "case" operation, the second is to store temporary data.

Variables are defined on the current stack, and every state defines its own sub-stack, child's states see parent variables, but if a state is a dead end, its stack will be cleared, and not affect its parent.

Note that only one Quotient will be evaluated and its value will be returned (well if it returns #null then the state processing will continue). Any state processing must occur in a do() operation.

>> if (#false, #true)

This is odd, will always be false.

>> :is1 {
>> set #instantiation to #false;
>> }

This does not make sense, #false is not a classification, and you never use :isa in a case. You seem to want to use :is1 as a state/global variable, in which case to set it a value in a case, you would use,

do (assign :is1 to #false)

If you wish, you can give an plain English explanation to what you want to do, and I can give you some example code.


Id: 716457
发布: Jan 23 2015, 8:32
答复: 0
的风景: 1721, 今天: 3, 周: 5, 一个月: 9
0 0 0.0/5