2016-11-23 3 views
2

У меня есть список значений, определенных в значениях массива внутри текстового элемента. Теперь, когда значение параметра aray «Counting finished», я хотел бы перенаправить поток на новый узел и передать пользователю текст enter image description here. Как достичь состояния?Доступ к значению массива из текста в Watson

ответ

1

Поскольку это выводимый текст, дерево разговора не может видеть его, если вы не поместили его во входную или контекстную переменную и не отправили обратно в дерево.

Более простой способ - создать счетчик. Существует более подробно и один разговор пример файл здесь:

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

Резюме:

Вы создаете переменный контекст как countdown, например, и установить его значение для обратного отсчета с.

Затем в тексте ввода вы можете добавить следующий код, чтобы инициировать декремент.

<? context.countdown-- ?> 

Это будет выводиться, хотя, так что вы можете использовать continue from для перехода на другой узел, который имеет append значение ЛОЖЬ. Это приведет к тому, что счетчик не будет отображаться.

Необязательно вы можете установить переменную контекста так, как показано ниже.

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

У этого были проблемы в более ранних версиях разговора. Я считаю, что теперь он должен работать без проблем.

+0

Спасибо Саймон. Еще один вопрос. Как вы создали в своем блоге условие «Продолжить с пользовательского ввода». Я могу создать условие, но без userInput. – user1148896

+0

Когда вы выберите «Продолжить», нажмите маленький пузырь речи, который находится между двумя узлами. –