Pergunta

A seguir é um exercício de SICP. Eu não poderia descobrir isso por conta própria. Pode algum por me ajudar a entender?

Digite o seguinte código em interpreator:

(car ''abracadabra)

E imprimir 'citação'. Por quê?

Foi útil?

Solução

Como gimpf disse, 'abracadabra = (citação abracadabra). Você pode verificar isso digitando '' abracadabra ao REPL, que será impresso (citação abracadabra).

Outras dicas

Porque '' abracadabra é realmente (citação (aspas abracadabra)). No esquema, a regra é: avaliar todas as partes do s-expressão, e aplicar a primeira parte para o resto das partes

.

"carro" e "quote" são símbolos do abaixo. #car e #quote são as funções a que se referem.

Se você tomar

(car (quote (quote abracadabra)))

e avaliar as peças, você começa

(#car (quote abracadabra))

Em seguida, aplique a primeira parte (a função de carro) para a segunda parte (uma lista de dois símbolos).

quote

E você obter apenas o "quote" símbolo.

Basta lembrar, para descobrir o que acontece no Esquema, avaliar as peças e aplicar o primeiro para o resto. Se você avaliar cotação, você obter o interior coisas. A única parte confusa é que alguns primitivos (número e cordas) avaliar a si mesmos.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top