多年来,我一直在模式匹配聊天机器人中使用以下代码。一个人在输入框中输入,聊天机器人在输出框中响应。
这只是一系列的"if语句“,而这只是其中的一小部分。
如果有人输入"yes“,机器人会返回以下内容,但在消息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;} 发布于 2013-04-24 07:04:07
有人发现了我的问题。以上代码中的这一行:
yes_q4_asked=="true";应该是:
yes_q4_asked="true";one =不是two ==
发布于 2013-04-23 19:33:55
document.result.result.are你确定这是correct?var yes_q4_asked="false";为什么不使用布尔值?https://stackoverflow.com/questions/16168238
复制相似问题