# type

Retourne le type d'une variable

## Séquence d'appel

     i =type(x)

## Paramètres

x

  objet Scilab

i

  entier

## Description

`type(x)` renvoie un entier donnant le code numérique du type de `x` définit comme suit :

1

  matrice réelle ou complexe..

2

  matrice polynomiale.

4

  matrice booléenne.

5

  matrice creuse.

6

  matrice creuse booléenne.

7

  matrice creuse au format Matlab

8

  matrice d'entiers codés sur 1 (int8), 2 (int16) ou 4 (int32) octets.

9

  matrice de "handle" sur les objets graphiques.

10

  matrice de chaînes de caractères.

11

  fonction non-compilée (code Scilab). Fonction créée par deff avec l'argument 'n'.

13

  fonction compilée (code Scilab).

14

  bibliothèque de fonctions.

15

  liste.

16

  Liste typée (tlist).

17

  liste typée orientée matrice (mlist).

128

  pointeur (Use case: lufact).

129

  polynôme implicite utilisé pour indexer.

130

  Fonction interne Scilab, aussi appellé primitive (Code C, C++ ou Fortran).

0

  variable nulle .Ce type est principalement utilisé en interne par Scilab. Si une fonction n'a pas pas d'argument de retour déclaré comme `disp`, quand elle est appelée elle retourne une variable nulle. Si une fonction est appellée avec un argument de la liste des arguments d'entrée omis comme `foo(a,,b)` l'argument manquant est assigné à la variable nulle.

  Note: Si une variable nulle est affectée à un nom, ce nom est supprimé de la liste des variables définies. `x=disp(1)` détruit `x`.

Note: pour certaines variables, à cause de la représentation interne, type(x) retournera tlist (16) ou mlist (17). C'est le cas de rational, state-space, uitree, hypermat et struct. Merci de considérer l'utilisation de typeof à la place.

## Exemples

    a=42;
    type(a)

    b=%t;
    type(b)

    c="foo"
    type(c)

    d=sparse([1,2;4,5;3,10],[1,2,3]);
    type(d)

    e = tlist(["listtype","field1","field2"], [], []);
    type(e)

    f=poly(0,"s");
    type(f)

    g=int8([1 -120 127 312]);
    type(g)

    h=mlist(['V','name','value'],['a','b';'c' 'd'],[1 2; 3 4]);
    type(h)

    l = list(1,["a" "b"]);
    type(l)

    deff('[x]=mymacro(y,z)',['a=3*y+1'; 'x=a*z+y']);
    type(mymacro)

    deff('[x]=myplus(y,z)','x=y+z','n');
    type(myplus)

## Voir aussi

- typeof
- inttype