我试图理解PLT-Scheme 372中对,缺点,虚线元组和正确列表之间的关系.我的问题的详细背景如下:
在阅读了一些教科书并进行反复试验后,我得到了以下理解和直观的想法(我可能错了......):
所有列表都是对,例如:
(pair? (list 'a 'b 'c)) => #t
所有的意思都是成对的,例如:
(pair? (cons 'a (cons 'b 'c))) => #t
一些以点分隔的元组是成对的,例如:
(pair? '(a . b)) => #t
(pair? '(a . b . c)) => #t
在标准R5RS中,它不是合法的语法.
然后我遇到了这个问题:为什么'(a.b.c)评价为(bac)?我在哪里可以找到完整的dot使用手册?
'(a . b) => (a . b) '(a . b . c) => (b a c) '(a . b . c . d) => illegal use of `.' '(cons 'a (cons 'b 'c)) => (a b . c)
uselpa.. 5
对于球拍(PLT),有一个很好的说明这里.
关于(a . b . c)
页面底部的语法,它是一个特定于Racket的读者扩展,旨在表达典型的测试,如(< 1 2)
as (1 . < . 2)
.
对于球拍(PLT),有一个很好的说明这里.
关于(a . b . c)
页面底部的语法,它是一个特定于Racket的读者扩展,旨在表达典型的测试,如(< 1 2)
as (1 . < . 2)
.