如何从Unity C#向Watson Conversation服务发送字符串?我知道我必须通过上下文来完成它,但我不知道如何将字符串添加到上下文或访问上下文来执行此操作。之后我需要将上下文发送到Watson会话服务,所以我可以使用字符串作为上下文变量的值。有人可以帮助我,或解释如何使用Unity自己的变量将上下文发送给Watson Conversation吗?
这是我到目前为止的脚本:
import java.util.Scanner;
public class howToDoRepeatedSequanceCheck {
public void repeatedTests() {
String whole;
int inputLength,i;
Scanner keyboard = new Scanner(System.in);
System.out.println("Enter an input string:");
whole = keyboard.nextLine();
while(!whole.equals("quit")) {
whole=whole.replaceAll("\\s+","");
inputLength = whole.length();
boolean isInOrder = true;
i = 0;
while(isInOrder && i<inputLength-1 ) {
if(whole.charAt(i)<whole.charAt(i+1)) {
// System.out.println("ok " + whole.charAt(i)+ " < " +whole.charAt(i+1));
}else {
// System.out.println("error");
isInOrder = false;
}
i++;
}
if(isInOrder == true) {
System.out.println("The input is in order");
}else {
System.out.println("The input is out of order");
}
System.out.println();
System.out.println("Enter an input string:");
whole = keyboard.nextLine();
}
System.out.println("Goodbye");
}
}
答案 0 :(得分:1)
如果我正确地读取你的代码,在HandleMessageCallback中,你会看到你在反序列化后将你的上下文作为字典处理。
var context = dict["context"] as Dictionary<string, object>;
您需要将新的上下文变量添加到上下文字典中。
您可以使用添加方法
context.Add("newItem", "Value here");
以下是一些有关使用词典的Unity特定文档:https://unity3d.com/learn/tutorials/modules/intermediate/scripting/lists-and-dictionaries