es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Deshacer la sobrescritura de la función incorporada en Clojure.

Logré redefinir por error la función integrada vector.

Más específicamente, esto es lo que hice:

(def vector [1 2 3 4 5 6])

Y esto es lo que pretendía hacer:

(def my-vector (vector 1 2 3 4 5 6))

¿Existe alguna manera de “deshacer” ese error sin reiniciar el REPL?

es decir, reversionando vector a su definición predeterminada.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, puedes deshacer el error haciendo referencia a la función original vector en la biblioteca principal de Clojure utilizando el espacio de nombres clojure.core/vector. Así es como puedes hacerlo:

    (def vector clojure.core/vector)
    

    Este código redefine vector para hacer referencia a la función original de vector en el espacio de nombres clojure.core. Después de ejecutar este código, puedes usar vector como de costumbre.

    Nota: Por lo general, no se recomienda redefinir las funciones integradas en Clojure o cualquier lenguaje de programación, ya que puede causar un comportamiento inesperado y hacer que tu código sea más difícil de entender y mantener.

Comments are closed.