多年来,我一直在模式匹配聊天机器人中使用以下内容。一个人在输入框中键入内容,聊天机器人在输出框中做出响应。
这只是一系列“if 语句”,而这只是其中的一小部分。
如果有人输入"is",机器人会回复以下消息,但我提出问题的消息 4 除外。一旦提出该问题,它将不再触发,这正是我想要的。
我不想一遍又一遍地问这个问题。这一切直到最近才奏效。我不明白为什么它不再有效。
var yes_q4_asked="false";
if (input.search("yes")!= -1) {
message[0] = "ok, yes it is.";
message[1] = "yes, I suppose so.";
message[2] = "ok, I understand.";
message[3] = "ok, I guess so.";
message[4] = "yeah, I reckon so. Say what color are your eyes?";
message[5] = "yes, I thought as much.";
num = [Math.floor(Math.random()*6)]
if ((num==4) && (yes_q4_asked=="false"))
{
yes_q4_asked=="true";
document.result.result.value = message[num];
return true;
}
while (num==4)
{
num = [Math.floor(Math.random()*6)]
}
document.result.result.value = message[num];
return true;}
最佳答案
有人发现了我的问题。 上面代码中的这一行:
yes_q4_asked=="true";
应该是:
yes_q4_asked="true";
一个=
不是两个==
关于Javascript - 聊天机器人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16168238/