lisp语言中如何判断一个输入是不是表?

刚刚开始学lisp~希望大家帮忙~谢谢~~... 刚刚开始学lisp~希望大家帮忙~谢谢~~ 展开
 我来答
ppshui
2009-09-29 · TA获得超过254个赞
知道答主
回答量:96
采纳率:0%
帮助的人:61.1万
展开全部
我个人觉得一般表的话,你一眼就看得出的,
但是如果你实在要验证,我这里有一个方法,其他具体我没试,但是这个方法肯定可以:

LISP里面有个函数计算表的长度,格式是:
(vl-list-length list-or-cons-object)
其中list-or-cons-object表示表或点对的表
如果参数是个真正的表,则返回包含表的长度的整数,如果是表对表,则返回NIL

举例:
(vl-list-length nil)

0

(vl-list-length '(1 2))

2

(vl-list-length '(1 2 . 3))

nil

其实这个,你只要拿个需要以表作为参数的函数去验证,不就知道了吗?

我这只是一个抛砖引玉,希望你能发现更好的方法
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ygk2003
推荐于2016-01-13 · 知道合伙人教育行家
ygk2003
知道合伙人教育行家
采纳数:4779 获赞数:139714
2007年毕业于兰州大学管理学院行政管理专业,学士学位。工会工作5年从业经历;档案工作7年从业经历。

向TA提问 私信TA
展开全部
1、LISP里面有个函数计算表的长度,格式是:(vl-list-length list-or-cons-object),其中list-or-cons-object表示表或点对的表,如果参数是个真正的表,则返回包含表的长度的整数,如果是表对表,则返回NIL。
2、Lisp 语言最早是在 20 世纪 50 年代末由麻省理工学院(MIT)为研究人工智能而开发的。Lisp 语言的强大使它在其它方面诸如编写编辑命令和集成环境等显示其优势。而 GNU Emacs Lisp 主要由 Maclisp 发展而来,该语言由 MIT 在 20 世纪 60 年代写成。它在某种程度上继承了 Common Lisp,而 Common Lisp 在 20 世纪 80 年代成了一种标准。 Lisp 代表 LISt Processing,即表处理,这种编程语言用来处理由括号(即“(”和“)”)构成的列表。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式