首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么方案既有列表又有报价?

为什么方案既有列表又有报价?
EN

Stack Overflow用户
提问于 2012-01-25 22:59:31
回答 2查看 1.9K关注 0票数 11

既然(列表1 2 3)产生(1 2 3)和(引用(1 2 3))产生(1 2 3),那么同时拥有两者的理由是什么?

因为Scheme在其他方面是如此的空闲,所以它们一定有一些有意义的区别。那是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-25 23:04:53

在您提到的示例中,quotelist具有相同的结果,因为数值常量的计算结果为自身。如果您在列表中使用非自评估的表达式(例如变量或函数调用),您将看到差异:

(quote (a b c))将为您提供一个包含符号abc的列表,而(list a b c)将为您提供一个包含变量abc的值的列表(如果变量不存在,则会出现错误)。

票数 27
EN

Stack Overflow用户

发布于 2012-01-25 23:04:34

list创建一个列表,因此(list 1 2 3)创建一个由三个元素组成的列表。

报价阻止评估。如果没有引号,表达式(1 2 3)将被计算为使用参数2和3调用的函数1,这显然没有意义。Quote阻止求值,只返回列表,该列表在其外部可打印形式中按字面意思指定为(1 2 3)。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9004786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档