2015-02-05 3 views
1

Начиная изучать схему, и я пришел через это:Разница между ("V" 1) и

В чем разница между

("v" . 1) 

и

("v" 1) 

Они, похоже, работают одинаково, просто хотят знать, в чем разница. Я склонен использовать ("v" 1), но (cons "v" 1) возвращает ("v" . 1). Итак, какая разница?

Спасибо

+1

Вы можете найти [dot notation in Scheme] (http://stackoverflow.com/q/20216711/1281433) полезно. –

ответ

5

("v" 1) равно (cons "v" (cons 1 '())) или ("v" . (1 . '())).

(foo . bar) - как напечатана cons-cell, когда она не является надлежащим списком. Правильный список - это константа '() (представляющая пустой список) или cons-cell, второй элемент которой является правильным списком. Правильный список печатается как (x1 x2 x3 etc), где xi являются первыми элементами каждой cons-ячейки.

+0

круто, спасибо за объяснение :) – Paladin

Смежные вопросы