Es fácil responder a la pregunta (supongo), pero miré por un rato no encontrar nada, así que voy a dirigir mi pregunta para usted.

No es el typep para determinar si una variable es de algunos datos específicos del tipo por ejemplo, integer,hashtable, etc. pero hay una función que devuelve el tipo de datos?

por ejemplo,

(defvar *x* 1)
*x*

(typep *x* 'integer)
T

(the-type-function *x*)
INTEGER
  • ver type-of operador
  • Aunque, para ser quisquilloso, el tipo está realmente asociado a los objetos almacenados en una variable), no a la variable.
  • Rainer Joswigs respuesta se adapta a mis necesidades, como yo tenía una Clase que no podía identificar pero que necesitaba su tipo a ver si antes de llamar a algunas de las funciones de la misma.
InformationsquelleAutor Sim | 2012-06-05

1 Comentario

  1. 33

    No es el typep para determinar si una variable es de algunos datos específicos del tipo por ejemplo, integer,hashtable, etc. ,

    No realmente. En Common Lisp variables no tienen tipo como usted piensa.

    (defvar *x* 1)
    *x*
    
    (typep *x* 'integer)
    T

    Arriba no dice nada sobre el tipo de una variable *x*. Se confirma que el objeto 1 es de tipo integer.

    pero hay una función que devuelve el tipo de datos?

    No realmente. Hay una función TYPE-OF, que devuelve el tipo de un objeto, no de una variable.

    > (type-of 1)
    FIXNUM

    No hay ninguna diferencia cuando obtenemos el valor de una variable.

    > (type-of *x*)
    FIXNUM

    Pero eso no significa que la variable tiene ese tipo.

    Nota: Common Lisp tiene tipos y tipo de declaraciones. Pero de que se ve un poco diferente.

    • Gracias, tipo de es la perfecta respuesta a mi pregunta.

Dejar respuesta

Please enter your comment!
Please enter your name here