Cap�tulo 4. Tipos de datos en YACAS

YACAS trata todo como objetos y tiene dos tipos b�sicos de objetos:

4.1. Tratamiento de los datos en YACAS

Internamente YACAS almacena los �tomos como cadenas de texto y los compounds como listas.

Podemos utilizar la funci�n Type para ver que tipo de objeto estamos tratando:

Ejemplo 4-1. Uso de Type

In> Type("Hola");
Out> "";
In> Type(2+(3*5));
Out> "";
In> Type(a*(b+c));
Out> "*";
In> Sin();
Out> Sin;
In> Type({1,2,3});
Out> "List";
In>
	

La interpretaci�n de los ejemplos anteriores es:

  1. "Hola" es una cadena de caracteres, luego un �tomo y en estos casos se devuelve la cadena vac�a "".

  2. 2+(3*5) es una expresi�n y por lo tanto un compound. Sin embargo el valor devuelto es la cadena vac�a "", es un �tomo!!.

    La explicaci�n es sencilla, YACAS antes de ejecutar la funci�n Type evalua su argumento luego en realidad lo que ejecuta YACAS es:

    In> Type(30);
    Out> "";
    In>
    	  

    y como 30 es un �tomo se obtiene "".

  3. a*(b+c) es una expresi�n y por lo tanto un compound. YACAS devuelve *. En los compounds se devuelve el operador de m�s alto nivel.

    No confundir con el operador que primero aparece:

    In> Type((a*b)+(c/d));
    Out> "+";
    In>
    	  
  4. Sin() es una funci�n y por lo tanto un compound. YACAS devuelve el nombre de la funci�n, operador de m�s alto nivel.

  5. {1,2,3} es una lista y por lo tanto un compound. YACAS devuelve List indicando que se trata de una lista.