[英]Responding to multiple matches in Chatscript
我目前正在嘗試學習Chatscript,但是文檔似乎很差。 我當前的問題是如何響應輸入的多語句匹配。 因此,如果我說“嗨,告訴我你自己”,並且我有一個“你好”和“關於你自己”的比賽,它將響應第一個比賽而不是最后一個比賽。 我很確定我需要更改控制腳本來解決此問題,但不確定要使用哪些命令。 也許可以將所有匹配項存儲在最后一個輸入中並可以選擇一個特定項?
您可以創建au:響應,該響應使用^ next&fine()在諸如〜greeting之類的句子中移動。 這是偽代碼 :
u: ( ~greeting )
^refine()
a: ( %more )
^next(input)
^refine()
b: ( you be ? )
I'm good!
b: ( %lenght==0 )
Hi!
( ChatScript系統功能手冊 )
^ next(什么標簽)–給定GAMBIT或RESPONDER或REJOINDER或RULE的內容以及規則標簽或標記,找到該內容的下一個規則。 如果未找到則失敗。 如果達到下一個頂級規則,REJOINDER將失敗。 如果label為“〜”,它將以上次呼叫的答案為起點,使您可以連續遍歷規則。 還有^ next(FACT @xxx)–參見事實手冊。 對於^ next(input),系統將讀取下一個句子,並為其准備系統。 這意味着此后執行的所有模式和代碼都將在下一個輸入語句的上下文中。 該句子現在已用完,當當前修訂的句子結束時,將不再顯示該句子。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.