next up previous contents index
Next: La fonction argn Up: 3.4.4 Quelques primitives utiles Previous: La fonction warning

Les fonctions type et typeof

  Celles-ci permettent de connaître le type d'une variable v. type(v) renvoie un entier alors que typeof(v) renvoie une chaîne de caractères Voici un tableau récapitulatif pour les types de données que nous avons vus :

 
Figure: Numéros des sommets du cube
type de v type(v) typeof(v)
matrice de réels ou complexes 1 constant
matrice de booléens 4 boolean
matrice de chaînes de caractères 10 string
liste 15 list
liste typée 16 type de la liste
fonction 13 function


Pour les listes typées, typeof ne fonctionne pas sans une petite modification qui est simple à effectuer si vous avez le code source de Scilab (cf archivage des messages du forum sur la home page Scilab). Un exemple d'utilisation : on veut sécuriser notre fonction factorielle en cas d'appel avec un mauvais argument d'entrée.

function [f] = fact4(n)
  // la fonction factorielle un peu plus blindee
  if type(n) ~= 1 then
    error(" erreur dans fact4 : l''argument n''a pas le bon type...")
  end
  [nl,nc]=size(n)
  if (nl ~= 1) | (nc ~= 1) then
    error(" erreur dans fact4 : l''argument ne doit pas etre une matrice...")
  end 
  if (n - floor(n) ~=0) | n<0  then
     n = floor(abs(n)) 
     warning('l''argument n''est pas un entier naturel: on calcule '+sprintf("%d",n)+"!") 
  end
  f = prod(1:n)


next up previous contents index
Next: La fonction argn Up: 3.4.4 Quelques primitives utiles Previous: La fonction warning
Pincon Bruno
6/23/2000