¿Cuál es (en términos simples) la diferencia entre establecer un enlace (LET) y símbolos (= variables) en el ceceo común?common-lisp: diferencia entre el enlace y el símbolo
Respuesta
Los símbolos y las variables son dos tipos muy diferentes de entidades. El símbolo es un nombre de algo; variable es un contenedor para un valor. La variable se puede nombrar por un símbolo.
Encuadernación es una asociación entre un símbolo y una variable; cuando el enlace está en efecto, puede referirse a una variable por su nombre. let
formulario crea tal enlace.
Lo siento si no fui lo suficientemente claro. yo estaba buscando en este tutorial: http://en.wikibooks.org/wiki/Common_Lisp/First_steps/Beginner_tutorial ¿Cuál es la diferencia entre: (let ((A1))) y (setf un 1) – martins
(let ((a 1)) ...) crea una variable (con alcance léxico local), un enlace entre el símbolo A y esta variable (en el contexto léxico dentro de "let" for) y lo inicializa en 1. (setf a 1) puede comportarse de manera diferente: si hay un enlace A, entonces cambia su valor. Si no hay ningún enlace, crea un enlace global A y lo inicializa en 1. Sin embargo, el tipo de enlace global se deja sin especificar y difiere entre las implementaciones de Lisp (y sus versiones). Entonces, si tiene una variable llamada A, setf cambiará su valor; de lo contrario, el resultado no está completamente especificado. –
(let ((a 1))) establece el valor de a a 1 hasta el punto donde se alcanza el corchete de cierre que coincide con el corchete de apertura antes del let, momento en el que vuelve al valor anterior (o se vuelve indefinido). A menudo se ve una entrada en el cuerpo de una función en la que se requieren variables locales que deben salir del alcance al final de la función, por lo que se debe usar un let there.
(setf a 1) establece a en 1 y asume que ya se ha definido previamente (ya sea por defparametro, defvariable o let) o que a es una nueva variable especial que necesita un valor.
Es un poco más complicado que eso, pero no estoy seguro de tener los ceceos para explicarlo.
- 1. Diferencia entre enlace estático y enlace dinámico
- 2. ¿Cuál es la diferencia entre el enlace primero y reciente?
- 3. Diferencia en el enlace entre C y C++?
- 4. Diferencia entre @import y enlace en CSS
- 5. Diferencia entre "a" y "a: enlace"
- 6. ¿Cuál es la diferencia entre el significante genérico "y el símbolo^en F # Método de firmas
- 7. diferencia entre el símbolo y el nombre de la variable en Emacs Lisp
- 8. Indefinido Símbolo ___gxx_personality_v0 en el enlace
- 9. ¿Diferencia entre el análisis y el paso?
- 10. ¿Diferencia entre el margen y el relleno?
- 11. Diferencia entre el objeto y el objeto
- 12. ¿Cuál es la diferencia entre el control de hipervínculo y el control de enlace en ASP.NET?
- 13. Diferencia entre el enlace dinámico en tiempo de carga y el enlace dinámico en tiempo de ejecución
- 14. diferencia entre -lgcc_s y gcc
- 15. Diferencia entre el evento OnClick() y OnClickListener?
- 16. diferencia entre * (Índice + Puntero) y el puntero []
- 17. diferencia entre el reenvío y la redirección
- 18. ¿Diferencia entre el protocolo y los delegados?
- 19. Diferencia entre el archivo .o y .ko
- 20. ¿Diferencia entre 'usar' y el alcance?
- 21. Diferencia entre la colección y el contenedor
- 22. diferencia entre el mapa y cada
- 23. Diferencia entre el objeto dinámico y System.Object
- 24. diferencia Autofac entre el Registro y RegisterType
- 25. diferencia entre el nuevo y anular
- 26. ¿Cuál es la diferencia entre LD_LIBRARY_PATH y -L en el momento del enlace?
- 27. ¿No hay diferencia entre No media y media = "all" en el enlace css?
- 28. ¿Cuál es la diferencia entre el NSImage y el UIImage?
- 29. Diferencia entre el protocolo https y el certificado SSL
- 30. Diferencia entre el objeto Node y el objeto Element?
¿Qué quiere decir con "... y símbolos (= variables)"? ¿Puede darnos ejemplos de expresiones para los dos conceptos que está describiendo? –