从 Watson 中的文本访问数组的值

Access the value of the array from the text in Watson

我在文本元素内的数组值中定义了值列表。 现在,当数组的值为 "Counting finished" 时,我想将流路由到新节点并将一些文本 传递给用户。如何达到条件?

由于这是输出文本,对话树无法看到它,除非您将它放入输入或上下文变量中,然后将其发送回树中。

更简单的选择是创建一个计数器。这里有更多详细信息和示例对话文件:

https://sodoherty.com/2016/09/22/using-counters-in-conversation/

总结:

例如,您可以创建一个上下文变量,例如 countdown,并为其设置一个倒计时值。

然后在您的输入文本中,您可以添加以下代码来启动递减。

<? context.countdown-- ?>

这将被输出,因此您可以使用 continue from 跳转到另一个 append 设置为 false 的节点。这将清除计数器的显示。

您可以选择直接设置上下文变量,如下所示。

{
  "output": {
    "text": "Decrementing countdown counter"
  },
  "context": {
    "countdown": "<? context.countdown-- ?>"
  }
}

虽然这在早期版本的对话中存在问题。我相信它现在应该可以正常工作了。