Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2025.0.0 - Français


typeof

type explicite ou code de surcharge d'un objet Scilab

Syntaxe

t  = typeof(object)
oc = typeof(object, "overload")

Paramètres

object

un objet Scilab quelconque

t

texte (un ou plusieurs mots séparés): nom du type de object

oc

mot (sans espace) : nom du code à utiliser pour surcharger une function devant traiter ce type d'object.

Description

t = typeof(object) retourne une des expressions texte suivantes :

string object est une matrice ou hypermatrice de caractères et/ou de textes.
boolean object est une matrice ou hypermatrice booléenne.
int8 ou int16 ou int32 ou int64 ou uint8 ou uint16 ou uint32 ou uint64
object est une matrice ou hypermatrice d'entiers [positifs ou signés] encodés sur 8, 16, 32 or 64 bits (voir inttype).
constant object est une matrice ou hypermatrice de nombres décimaux réels ou complexes.
polynomial object est une matrice ou hypermatrice de polynômes à coefficients réels ou complexes.
rational object est une matrice ou hypermatrice de fractions rationelles (telle qu'une matrice de transfert), à coefficients décimaux réels ou complexes.
handle object est un handle (identifiant) graphique. Le (sous)type d'élément graphique (Figure, Axes, Polyline, Compound, etc) est indiqué par leur attribut .type. Voir les exemples ci-après.
list object est une liste simple.
st object est une structure ou un nD-tableau de structures.
ce object est une cell ou un nD-tableau de cells.
boolean sparse object est une matrice booléenne creuse.
Hypermatrices booléennes creuses non supportées.
sparse object est une matrice creuse de nombres décimaux réels ou complexes.
Hypermatrices numériques creuses non supportées.
fptr object est une primitive Scilab, aussi appelée gateway (code C, C++ ou Fortran compilé).
function object est une function écrite en langage Scilab. Voir aussi deff.
library object est une bibliothèque de functions écrites en langage Scilab et compilées.
pointer object est un pointeur, par exemple utilisé par lufact.
implicitlist object est une liste implicite avec un index formel polynomial, utilisée en indexation. Voir n:$ et : (colon)
listdelete est retourné par typeof(null()) . Voir null().
void est le typeof des éléments de list() indéfinis.
Listes typées T-Lists ou M-Lists :
Si l'object est une tlist ou une mlist, typeof retourne le nom du type défini pour la liste, lequel est enregistré dans le premier élément de la liste.
Types de T-List ou M-List prédéfinis et réservés :
dir object est la réponse d'une instruction dir(..). Les champs définis sont name, date, bytes, et isdir.
state-space object est une réprésentation d'état d'un système dynamique (voir syslin).
program object est une liste descrivant le code interne d'une fonction compilée écrite en Scilab (voir macr2tree).
cblock object est un bloc de colonnes de mêmes hauteurs mais de types de contenus différents, tel que produit par mfscanf.
XMLDoc object est un pointeur de document XML ouvert créé avec xmlRead, xmlReadStr, htmlRead, ou htmlReadStr. D'autres typeof d'objets XML sont disponibles et réservés.
H5Object object est un identifiant de fichier HDF5 ouvert avec h5open. D'autres typeof d'objets HDF5 sont disponibles et réservés : Voir HDF5 Objects.
uitree object est un arbre graphique interactif, ou un composant (branche, feuille) d'un tel arbre, créé avec une des fonctions dédiées. Voir par exemple uiCreateNode.
Types de T-list réservés utilisés par Xcos :
Block object est un bloc Xcos.
cpr object est une liste contenant les résultats de la compilation d'un schéma Xcos.
diagram object est une liste définissant un schéma Xcos : paramètres initiaux, références aux blocs, liens interbloc et étiquettes texte le composant...
graphics object est une liste affectée au champ .graphics d'un bloc.
Link object est une liste définissant et paramétrant un lien entre 2 blocs Xcos.
model object est une liste affectée au champ .model d'un bloc.
params object est une liste contenant les paramètres de configuration d'un schéma Xcos.
scsopt object est une liste contenant les options graphiques d'édition d'un schéma Xcos.
scs object est une liste contenant les résultats statiques de la compilation d'un schéma Xcos.
xcs object est une liste contenant les résultats dynamiques évoluant au cours d'une simulation Xcos.
Text object est une liste définissant une étiquette de texte dans un schéma Xcos.

Exemples

// Caractères et textes
t = ["a" "Hello"   "à é è ï ô û ñ"
     "1" "Bonjour" "указывает тип объекта"
     ";" "Chao"    "オブジェクトの型"
    ]
typeof(t)

// Booléens
typeof(%t)
typeof("abc"=="def")
hm = grand(2,2,2,"uin",0,9)<5
typeof(hm)

// Entiers encodés
[ typeof(uint8(%pi))  typeof(int8(-%pi))
  typeof(uint16(%pi)) typeof(int16(-%pi))
  typeof(uint32(%pi)) typeof(int32(-%pi))
  typeof(uint64(%pi)) typeof(int64(-%pi))
]

// Nombres décimaux
n = 1:0.3:2
typeof(n)
hm = grand(2,2,2,"uin",0,9)
typeof(hm)

// Décimaux entiers
n = 1:7
typeof(n)

// Nombres complexes
n = [%i 1-%i %pi - 3*%i]
typeof(n)

// "constant" spéciale
typeof([])   // empty matrix

// Polynômes
n = [ %z (1-%z)^2]
typeof(n)
n = [ 3*%i + %z (1-%i*%z)^2]
typeof(n)

// Fractions rationnelles (polynomiales)
r = [%s/(1-%s) (1+%s)^2/(1-%s)]   // à coefficients réels
typeof(r)
r = [%s/(%i-%s) (%i+%s)^2/(1-%s)] // à coefficients complexes
typeof(r)

// Matrices creuses
// ----------------
w = sprand(100,100,0.001)
typeof(w)     // numérique
typeof(w==w)  // booléenne

// Functions et bibliothèques écrites en Scilab
// --------------------------------------------
deff('y=f(x)','y=2*x');  // Function en langage Scilab
f(%pi)
typeof(f)
typeof(cosd)    // écrite en Scilab

typeof(corelib) // Bibliothèque de functions en langage Scilab

typeof(sin)     // Fonctions primitives non éditables
mysin = sin;
mysin(%pi/2)

// Identifiants graphiques
// -----------------------
clf
plot2d()
typeof(gcf())
// Le type graphique de l'objet graphique est indiqué par l'attribut "type" :
gcf().type
gca().type
gce().type

close(gcf())

// Conteneurs de données hétérogènes
// ---------------------------------
// Liste simple
L = list(%pi, %t, %z, %s/(1-%s), "Bonjour", sin, cosd, list("list_in_list", 432));
typeof(L)

// Tableau de cells
C = {%pi, %t, %z ; %s/(1-%s), "Bonjour", list("list_in_list", 432) }
typeof(C)

// (Tableau de) Structures
S.num = %pi;
S.b = %t;
S(2).t = "Bonjour"
typeof(S)

// Indices formels génériques
// --------------------------
typeof($)
typeof(:)    // équivalent à "eye()"  (tous les éléments)
typeof(3:$)

// Typeof de deletion ou d'éléments indéfinis
// ------------------------------------------
typeof([])      // matrice vide
typeof(null())
L = list(%pi, ,"hey!")
typeof(L(2))   // élément indéfini

// typeof de T-Listes ou M-listes à façon :
// --------------------------------------
L = tlist(['myLongTypeOf','a','b'], 18, 'Scilab');
typeof(L)

// Typeof de T-List ou M-list prédéfinis réservés
// ----------------------------------------------
typeof(dir())  // listage du contenu d'un dossier
//
c = macr2tree(sind); // Code interne d'une macro Scilab
typeof(c)
fieldnames(c)'
c.name
//
doc = xmlReadStr("<root><a att=""foo"">Hello</a></root>");
typeof(doc)
xmlDelete(doc)
//
x = 1;
save(TMPDIR + "/x.sod", "x"); // Les fichiers SOD d'enregistrement d'objets
//                            //  Scilab sont au format HDF5
a = h5open(TMPDIR + "/x.sod");
typeof(a)
h5close(a)

Voir aussi

  • type — Retourne le type d'un objet Scilab
  • inttype — type des entiers utilisés dans les types entiers de données.
  • overloading — display, functions and operators overloading capabilities
  • isreal — Retourne %F si la matrice est encodée en numération complexe
  • strings — Scilab Object, character strings
  • poly — définition d'un polynôme selon racines ou coefficients, ou caractéristique d'une matrice carrée
  • rlist — définition d'une fraction rationnelle
  • null — supprime un élément d'une liste, ou un champ d'une structure, M-liste ou T-liste
  • sparse — sparse matrix definition
  • issparse — tests whether the input is sparse encoded (numeric or boolean)
  • syslin — définition d'un système dynamique linéaire
  • dir — gets file list
  • XML Objects — Describe the properties of the different XML objects
  • HDF5 Objects — Describe the properties of the different H5 objects

Historique

VersionDescription
6.0
  • Ajout de l'option "overload".
  • Ajout des typeof "uint64" et "int64".
  • Suppression du typeof "hypermat". Toute hypermatrice de type "simple" homogène est désormais encodée de manière native.
  • typeof "listdelete" ajouté (tel que retourné pour null()).
  • typeof() peut désormais être appliquée aux éléments non définis des listes. Le nouveau typeof "void" est retourné.
  • Ajout des typeof "listdelete" et "void".
  • Le typeof des T-lists et M-lists était limité à 8 caractères. Les noms de types peuvent maintenant être plus longs.
  • Typeof "size implicit" renommé en "implicitlist" (1:$)
  • Page d'aide revue.
Report an issue
<< typename types Variables >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu Oct 24 11:15:55 CEST 2024