用 E4X 和 Prototype 创建 Ajax mindreader 应用程序,第 1 部分: 构建 Twenty Questions 基础结构
2010-03-09 00:00:00 来源:WEB开发网排除所有与这个问题的回答不相符的东西。
如果范围已经收窄到一个东西,就询问用户这个猜测是否正确。
如果正确,就重新装载知识库并重新开始游戏。如果不正确,就询问用户究竟是什么东西,并要求用户提供一个可以区分正确答案和错误答案的问题。将这些信息添加到知识库中。(将在第 2 部分中完成这一步骤。)
如果仍然有多个东西,就要决定一个问题,这个问题应该应用于当前范围中尽可能多的东西。(这是关键;这样可以排除尽可能多的可能选择。)
提出这个问题。
返回到第 3 步。
E4X 非常适合实现这种算法。
注意:糟糕的是,无法强制用户向知识库中添加正确的信息,而提供错误信息的用户实际上使他们的内容无从查找。
E4X 简介
在编程环境中考虑处理 XML 时,您首先会想到什么?DOM?XPath?您首先想到的也许是 “哎唷,这真让人头疼!” 是的,确实是这样;XML 是一种出色的数据存储格式,但是处理 XML 却让人很头疼。但是,如果能够创建 XML 对象,轻松地访问和过滤 XML 节点,轻松地把数据序列化成显示或存储所需的字符串,那么会怎么样呢?您就不那么头疼了吧?
这就是 E4X 的价值所在。
E4X 使用一种与数据绑定相似的结构,简化了对 XML 文档的访问方法。请考虑下面这个片段(见清单 1)。
清单 1. 使用 E4X
<script type="text/javascript;e4x=1">
myquestion = <question>
<display>Is it animal, vegetable, or mineral?</display>
<answerOption>Animal</answerOption>
<answerOption>Vegetable</answerOption>
<answerOption>Mineral</answerOption>
</question>;
alert("The question is '" + myquestion.display + "'");
</script>
编缉推荐阅读以下文章
- 用 E4X 和 Prototype 创建 Ajax mindreader 应用程序,第 2 部分: 使 mindreader 应用程序更智能化
更多精彩
赞助商链接