用javascript实现人工智能脚本
日期:2007年7月6日 作者: 查看:[大字体 中字体 小字体]-
最近在网上偶然看到一篇文章,说javascript = C+Lisp,于是思考这样的问题,既然javascript包含着部分Lisp的血统,那么用javascript来实现一个类似于Lisp的人工智能脚本又会是什么样子?
LISt Processing语系作为一种“函数式”语系,自从诞生之日起便以其简单优美的风格和简洁高效的结构征服了许许多多的研究者和爱好者。
目前这种古老的语言和文法仍然被许许多多的人使用着并热爱着,而且在人工智能等领域发挥着非常巨大的作用。
我认为,javascript的灵活加上Lisp的简洁,应该能够创造出一种非常优美的语言,不过这种语言是什么样子的呢?相信大家也很想知道,那么下面我们一起来研究一下这个非常吸引人的问题。
(在仔细阅读下面的内容之前,建议大家先倒杯热茶,坐下来平静一下自己的心情,深呼吸一下,集中起精神来,因为下面的过程将是有趣而有时又颇耗脑细胞的...^^)
在进入Lisp王国之前,让我们先来做一些javascrip的准备工作...仔细看下面的代码
NIL = [];
Array.prototype.toEvalString = function()
{
if(this.length <= 0) return "NIL";
var str = "";
for (var i = 0; i < this.length; i++)
{
if(this[i] instanceof Array)
str += "," + this[i].toEvalString();
else str += "," + this[i];
}
return "[" + str.slice(1) + "]";
};(function(){
LispScript = {
Run : run
};
function run(code)
{
if(code instanceof Array)
{
var elements = new Array();
for (var i = 0; i < code.length; i++)
{
code[i] = run(code[i]); //递归向下读取
if(code[i] instanceof Function) //解析表达式
{
if(code[i].length <= 0) //无参函数可省略[]直接以函数名称调用
{
code[i] = code[i].call(null);
}
else if(i == 0) //调用带参数的函数[funcall,args...]
{ - [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一页
-
- 用javascript实现人工智能脚本 相关文章:
- ·用javascript实现人工智能脚本
- 用javascript实现人工智能脚本 相关软件
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
精品推荐
热点TOP10
- ·如何实现一个表格表头不动tbody区域用滚动条可以滚动
- ·Js之软键盘实现(源码)
- ·javascript实现datagrid客户端checkbox列的全选,反选
- ·用window.location.href实现刷新另个框架页面
- ·用层模拟下拉列表框
- ·判断输入框不为空
- ·用JavaScript刷新框架子页面的方法
- ·JavaScript 经典代码大全
- ·禁用浏览器的后退按钮
- ·Javascript模拟的DOS窗口
- ·获取cpu序列号,硬盘ID,网卡MAC地址
- ·在IE浏览器中正确显示PNG透明图片
- ·JavaScript教程:框架的概念及如何访问
- ·学习JavaScript里面的变量的应用
- ·Javascript强制设为首页的网页代码
- ·汇总:一些不错的使用频率比较高的JS函数
- ·网页两侧浮动广告代码
- ·一个兼容IE、Firefox和Opera浏览器的英文日历脚本
- ·漂浮广告代码完全解析
- ·javascript规定最多输入的字符串长度
特别推荐
- ·网页制作Javascript经典小技巧总结
- ·JavaScript的9个陷阱及评点
- ·简单介绍用JSP来实现文件下载功能的几种方式
- ·网页播放器实现全屏的方法总结
- ·菜鸟学习javascript实例教程
- ·JavaScript 经典代码大全
- ·汇总:一些不错的使用频率比较高的JS函数
- ·Javascript模拟的DOS窗口
- ·Javascript在IE和FireFox中的不同表现
- ·JavaScript仿Windows关机效果
- ·仿windows选项卡效果拾零
- ·JavaScript经典效果集锦
- ·jscript/javascript条件编译
- ·Js之软键盘实现(源码)
- ·innerHTML在Firefox和Opera下的执行特例
- ·弹出窗口window.open()的参数列表
- ·javascript gb2312转utf-8
- ·JavaScript方法和技巧大全
- ·js事件列表
- ·网页屏蔽(左右键,代码等)的非JS方法
