是否可以在 RiveScript 内部访问对象宏?我对此有点困惑。我已经定义了以下脚本:
> object small python
return "4"
< object
+ small
- <call>small</call>
当我输入时,这给了我一个错误small
:
error: [ERR: Object Not Found]
是否可以在 RiveScript 内部访问对象宏?我对此有点困惑。我已经定义了以下脚本:
> object small python
return "4"
< object
+ small
- <call>small</call>
当我输入时,这给了我一个错误small
:
error: [ERR: Object Not Found]
在对象名称之后留一个空格,就像这样
- <call>small </call>
的定义object
似乎没问题,但您可能从https://play.rivescript.com/或https://www.rivescript.com/try运行它,它们只允许 JavaScript 或 CoffeeScript(请参阅关于页面)。
您可以使用rivescript-python运行代码,您可以通过以下方式安装:
pip install rivescript
然后将您的 rivescript 放入文件 ( .rive
) 中,例如,在helloworld.rive
.
然后在python中:
from rivescript import RiveScript
bot = RiveScript()
bot.load_directory('.') # set your directory where the .rive file(s) is/are
bot.sort_replies()
现在您可以使用bot.reply
来获取某个输入的答案:
>>> bot.reply('localuser','small')
'4'
编辑:我已经在 Ubuntu 14.04 上使用 Python 3.4.3 和 Python 2.7.12 以及 rivescript 1.14.4 测试了这段代码。