list
の構文は、神秘的なラケットリストの構文は一貫性のないと思われる
「(1 2)及び(リスト1 2)が同じようだ:
> (equal? '(1 2) (list 1 2))
#t
が、これらは同じではありません???
(equal? '('(1 2)) (list (list 1 2)))
#f
も
> (list (list 1 2))
'((1 2))
> '('(1 2))
'('(1 2))
list
の構文は、神秘的なラケットリストの構文は一貫性のないと思われる
「(1 2)及び(リスト1 2)が同じようだ:
> (equal? '(1 2) (list 1 2))
#t
が、これらは同じではありません???
(equal? '('(1 2)) (list (list 1 2)))
#f
も
> (list (list 1 2))
'((1 2))
> '('(1 2))
'('(1 2))
うん、異なっています。ここでの答えは、あなたが思うよりも引用がはるかに強力だということです。
具体的には、「データ言語」にあなたを入れます。このデータ言語では、すべての括弧のペアがネストされたリストを導入し、すべての識別子はシンボルとして扱われます。
ので、例えば、
'(a (b c) d "e" ((g)))
は、最初のものが第二のではなく、どのくらいの短い
(list 'a (list 'b 'c) 'd "e" (list (list 'g)))
ノートと同じです。
引用された用語の中に引用された用語を入れると、驚きを得ることになります。これは実際にはtが(引用符t)の省略形であるためです。したがって、 '('(1 2))は(list(quote(list 1 2))と同じ)(quote((quote(1 2)))))の略です。
ショートバージョン:見積もりの中に見積もりを入れないでください。見積もりに「データ言語」が入力されていることを覚えておいてください。 quasiquoteでもっと楽しいものが得られます!
ありがとうジョン! – user3200050
[引用とリストの違いは何ですか?](http://stackoverflow.com/questions/34984552/what-is-the-difference-between-quote-and-list) –