в РЕПЛ получить ответ:Немного запутался о недостатках, определенных в схеме
> (cons 'quote '(a))
'a
здесь я думаю, как он получил правильный ответ:
(«цитата» минусы (а)) --- > (цитата 'а) --->' а
Но я удивляюсь, почему это не так:
('цитата' минусы (а)) ---> (цитировать) ---> а
cons cons добавляет первый arg в первый из вторых аргументов. второй arg - это список.
Я тоже не понимаю, почему это не может быть объяснено следующим образом:
>'(a)
(a)
>(quote (a))
(a)
>'quote
quote
почему не: ('цитата' минусы (а)) ---> (цитата (а)) -> (a)
Похоже, использование дрейфа на разных языках показывает разные. – jiamo
[По умолчанию] (http://docs.racket-lang.org/reference/printing.html), DrRacket отображает результаты как 'eval'able datum, поэтому для' (cons 'quote' (a)) ', он напечатает это как '' 'a'. Фактическое значение все еще '' a', но, напечатав его как '' 'a', вы можете скопировать его в REPL и получить ожидаемый результат. –
ИСПОЛЬЗУЙТЕ lang R5RS в REPL, просто напечатайте – jiamo