RE: Evaluation flow, declaring new :response sentences and miscelany |
Good idea on adding some sort of condition or processing to a case. Right now you could go to another case and assign a variable in a do() then use a "return" to go back to the original state. I think the NounVerbAdjective script does this in places. Any variable will match any word unless you put some condition on it. So :question will match everything. To only match question words you would use,
:question { set #instantiation #question; } Also :unknown word will match any word again. If you want to check for a unknown word you could define it as,
:unknown { exclude #meaning :anything; } Note, that the Wiktionary process runs in the background, so will learn new words after the sentence has been processed. That is why the bot will normally not understand something new the first time, then understand it when you repeat it. Also, > case :? goto State:subjectVerbState;to match a "?" you need it in quotes,
case "?" goto State:subjectVerbState; |
|
|
|
|