Scheme 方案中列表的定义

Scheme 方案中列表的定义,scheme,Scheme,最后,我尝试学习一个Lisp方言方案,遇到了列表的两个定义- 空列表或cdr为列表的对 用括号括起来的S表达式的集合 这些定义是等价的吗?它们与{'a'、'b'、'c'}和abc一样等价 前者是机器对列表的逻辑表示,后者是如何在代码中表示列表 在scheme中,你几乎可以把所有的东西都当作一个列表:有人会投我反对票,但当我试着去思考scheme风格时,我发现这是真的。它们与{a'、'b'、'c'}和abc是等价的 前者是机器对列表的逻辑表示,后者是如何在代码中表示列表 在scheme中,你们几乎

最后,我尝试学习一个Lisp方言方案,遇到了列表的两个定义-

空列表或cdr为列表的对

用括号括起来的S表达式的集合

这些定义是等价的吗?

它们与{'a'、'b'、'c'}和abc一样等价

前者是机器对列表的逻辑表示,后者是如何在代码中表示列表


在scheme中,你几乎可以把所有的东西都当作一个列表:有人会投我反对票,但当我试着去思考scheme风格时,我发现这是真的。

它们与{a'、'b'、'c'}和abc是等价的

前者是机器对列表的逻辑表示,后者是如何在代码中表示列表


在scheme中,你们几乎可以把所有的事情都当作一个列表:有人会投我反对票,但我在尝试scheme风格时发现这是真的。

我要推出我最喜欢的狗和小马表演

资料来源:

这与以下内容相对应:

(let ((s5 (sqrt 5)))
  (/ (- (expt (/ (1+ s5) 2) n)
        (expt (/ (- 1 s5) 2) n)) s5))

该图演示了您的第一条语句,其中空列表对象表示为一个黑框。代码片段演示了您的第二步:-

我要带上我最喜欢的狗和小马表演

资料来源:

这与以下内容相对应:

(let ((s5 (sqrt 5)))
  (/ (- (expt (/ (1+ s5) 2) n)
        (expt (/ (- 1 s5) 2) n)) s5))

该图演示了您的第一条语句,其中空列表对象表示为一个黑框。代码片段演示了您的第二步:-

事实上,你说你可以把每件事都当作一张单子来对待,你会得到一张赞成票。因为方案代码实际上是一堆列表!你说得很对,只是他们说的不一样。也就是说,它们是一致的,因为它们都适用于方案列表。你几乎可以把所有事情都当作一个列表来处理,因为列表是一个非常模糊的语句,帮助不大。你的字符串示例很糟糕。它适用于Haskell而不是Scheme。我确实发现它是一个模糊的陈述,这就是为什么我把它限定为我的个人经验。也就是说,当我开始将计划中的所有内容都视为一个列表时,事情就变得简单了。也画了很多盒子!!:关于字符串示例,这只是为了说明一个更类似于编译器/解释器如何看待它,而不是我们如何使用代码速记。事实上,如果你说你可以把所有东西都当作一个列表来对待,你会得到一个赞成票。因为方案代码实际上是一堆列表!你说得很对,只是他们说的不一样。也就是说,它们是一致的,因为它们都适用于方案列表。你几乎可以把所有事情都当作一个列表来处理,因为列表是一个非常模糊的语句,帮助不大。你的字符串示例很糟糕。它适用于Haskell而不是Scheme。我确实发现它是一个模糊的陈述,这就是为什么我把它限定为我的个人经验。也就是说,当我开始将计划中的所有内容都视为一个列表时,事情就变得简单了。也画了很多盒子!!:关于字符串示例,它只是为了说明一个更类似于编译器/解释器如何看待它,而不是我们如何用代码速记来处理它。阅读标准!R5RS,6.3.2对和列表:对主要用于表示列表。列表可以递归地定义为空列表或cdr为列表的对。更准确地说,列表集被定义为最小的集合X,因此…谢谢,这有助于我了解标准!R5RS,6.3.2对和列表:对主要用于表示列表。列表可以递归地定义为空列表或cdr为列表的对。更准确地说,列表集被定义为最小的集合X,这样…谢谢,这对我的盒子有很大的帮助,因为盒子使方案非常非常简单。我用图表纸杀死的树比我愿意承认的还要多+1对于盒子,因为盒子使方案非常、非常容易。我用图表纸杀死的树比我愿意承认的还要多!