3

私はScheme言語のR5RS標準を使用しています。

これらの2つのオブジェクトを見てください。

  1. (1 (2 . 3))
  2. (1 2 . 3)

それらは同じ記憶表現を持っていますか?このように(A): ここに画像の説明を入力してください

または最初のものは異なりますか?このように(B):ここに画像の説明を入力してください

だから...何が正しいのですか?

4

1 に答える 1

5

それらは異なります。最初のリストは次のように構成され、「B」の図に対応します。

(cons 1
      (cons (cons 2 3)
            '()))

> '(1 (2 . 3))

2番目のリスト構造は次のように構成されていますが、これは「A」の図に対応しています。

(cons 1
      (cons 2 3))

> '(1 2 . 3)

また、2番目のリストは適切なリストではないことに注意してください(つまり、で終わるリストnull)。

于 2012-10-23T17:35:58.987 に答える