typeof was refering to xmlobjects instead of XMLObjects
[scilab.git] / scilab / modules / data_structures / help / fr_FR / typeof.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
4  * Copyright (C) 2008 - INRIA
5  * Copyright (C) 2015 - 2016 - Samuel GOUGEON
6  * Copyright (C) 2012 - 2016 - Scilab Enterprises
7  *
8  * This file is hereby licensed under the terms of the GNU GPL v2.0,
9  * pursuant to article 5.3.4 of the CeCILL v.2.1.
10  * This file was originally licensed under the terms of the CeCILL v2.1,
11  * and continues to be available under such terms.
12  * For more information, see the COPYING file which you should have received
13  * along with this program.
14  *
15  -->
16 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="typeof" xml:lang="en">
17     <refnamediv>
18         <refname>typeof</refname>
19         <refpurpose>type d'un objet Scilab</refpurpose>
20     </refnamediv>
21     <refsynopsisdiv>
22         <title>Syntaxe</title>
23         <synopsis>
24             t  = typeof(object)
25             oc = typeof(object, "overload")
26         </synopsis>
27     </refsynopsisdiv>
28     <refsection role="parameters">
29         <title>Paramètres</title>
30         <variablelist>
31             <varlistentry>
32                 <term>object</term>
33                 <listitem>
34                     <para>un objet Scilab quelconque</para>
35                 </listitem>
36             </varlistentry>
37             <varlistentry>
38                 <term>t</term>
39                 <listitem>
40                     <para>texte (un ou plusieurs mots séparés): nom du type de
41                         <varname>object</varname>
42                     </para>
43                 </listitem>
44             </varlistentry>
45             <varlistentry>
46                 <term>oc</term>
47                 <listitem>
48                     <para>mot (sans espace) : nom du code à utiliser pour
49                         surcharger une function devant traiter ce type
50                         d'<varname>object</varname>.
51                     </para>
52                 </listitem>
53             </varlistentry>
54         </variablelist>
55     </refsection>
56     <refsection role="description">
57         <title>Description</title>
58         <para>
59             <code>t = typeof(object)</code> retourne une des expressions texte suivantes :
60         </para>
61         <table>
62             <tr>
63                 <td>
64                     <emphasis role="bold">string</emphasis>
65                 </td>
66                 <td>
67                     <varname>object</varname> est une matrice ou hypermatrice de
68                     <link linkend="strings">caractères</link> et/ou de textes.
69                 </td>
70             </tr>
71             <tr>
72                 <td>
73                     <emphasis role="bold">boolean</emphasis>
74                 </td>
75                 <td>
76                     <varname>object</varname> est une
77                     <link linkend="matrices">matrice ou hypermatrice booléenne</link>.
78                 </td>
79             </tr>
80             <tr><td colspan="2">
81                     <emphasis role="bold">int8</emphasis> ou
82                     <emphasis role="bold">int16</emphasis> ou
83                     <emphasis role="bold">int32</emphasis> ou
84                     <emphasis role="bold">int64</emphasis> ou
85                     <emphasis role="bold">uint8</emphasis> ou
86                     <emphasis role="bold">uint16</emphasis> ou
87                     <emphasis role="bold">uint32</emphasis> ou
88                     <emphasis role="bold">uint64</emphasis>
89                 </td>
90             </tr>
91             <tr>
92                 <td> </td>
93                 <td>
94                     <varname>object</varname> est une matrice ou hypermatrice d'entiers
95                     [positifs ou signés] encodés sur
96                     8, 16, 32 or 64 bits (voir <link linkend="inttype">inttype</link>).
97                 </td>
98             </tr>
99             <tr>
100                 <td>
101                     <emphasis role="bold">constant</emphasis>
102                 </td>
103                 <td>
104                     <varname>object</varname> est une matrice ou hypermatrice
105                     de nombres
106                     décimaux réels ou complexes.
107                 </td>
108             </tr>
109             <tr>
110                 <td>
111                     <emphasis role="bold">polynomial</emphasis>
112                 </td>
113                 <td>
114                     <varname>object</varname> est une matrice ou hypermatrice de
115                     <link linkend="poly">polynômes</link> à coefficients
116                     réels ou complexes.
117                 </td>
118             </tr>
119             <tr>
120                 <td>
121                     <emphasis role="bold">rational</emphasis>
122                 </td>
123                 <td>
124                     <varname>object</varname> est une matrice ou hypermatrice de
125                     <link linkend="rational">fractions rationelles</link>
126                     (telle qu'une matrice de transfert), à coefficients décimaux
127                     réels ou complexes.
128                 </td>
129             </tr>
130             <tr>
131                 <td>
132                     <emphasis role="bold">handle</emphasis>
133                 </td>
134                 <td>
135                     <varname>object</varname> est un
136                     <link linkend="graphics_entities">handle</link> (identifiant)
137                     graphique. Le (sous)type d'élément graphique
138                     (Figure, Axes, Polyline, Compound, etc) est indiqué
139                     par leur attribut <literal>.type</literal>. Voir les
140                     exemples ci-après.
141                 </td>
142             </tr>
143             <tr>
144                 <td>
145                     <emphasis role="bold">list</emphasis>
146                 </td>
147                 <td>
148                     <varname>object</varname> est une
149                     <link linkend="list">liste</link> simple.
150                 </td>
151             </tr>
152             <tr>
153                 <td>
154                     <emphasis role="bold">st</emphasis>
155                 </td>
156                 <td>
157                     <varname>object</varname> est une
158                     <link linkend="struct">structure</link>
159                     ou un nD-tableau de structures.
160                 </td>
161             </tr>
162             <tr>
163                 <td>
164                     <emphasis role="bold">ce</emphasis>
165                 </td>
166                 <td>
167                     <varname>object</varname> est une
168                     <link linkend="cell">cell</link> ou un nD-tableau de cells.
169                 </td>
170             </tr>
171             <tr>
172                 <td>
173                     <emphasis role="bold">boolean sparse</emphasis>
174                 </td>
175                 <td>
176                     <varname>object</varname> est une matrice booléenne creuse.
177                     <warning>Hypermatrices booléennes creuses non supportées.</warning>
178                 </td>
179             </tr>
180             <tr>
181                 <td>
182                     <emphasis role="bold">sparse</emphasis>
183                 </td>
184                 <td>
185                     <varname>object</varname> est une
186                     <link linkend="sparse">matrice creuse</link>
187                     de nombres décimaux réels ou complexes.
188                     <warning>Hypermatrices numériques creuses non supportées.</warning>
189                 </td>
190             </tr>
191             <tr>
192                 <td>
193                     <emphasis role="bold">"Matlab sparse"</emphasis>
194                 </td>
195                 <td>
196                     <varname>object</varname> est une matrice numérique creuse
197                     au format Matlab
198                     (voir <link linkend="mtlb_sparse">mtlb_sparse()</link>).
199                 </td>
200             </tr>
201             <tr>
202                 <td>
203                     <emphasis role="bold">fptr</emphasis>
204                 </td>
205                 <td>
206                     <varname>object</varname> est une primitive Scilab,
207                     aussi appelée <emphasis role="italic">gateway</emphasis>
208                     (code C, C++ ou Fortran compilé).
209                 </td>
210             </tr>
211             <tr>
212                 <td>
213                     <emphasis role="bold">function</emphasis>
214                 </td>
215                 <td>
216                     <varname>object</varname> est une
217                     <link linkend="function">function</link>
218                     écrite en langage Scilab.
219                     Voir aussi <link linkend="deff">deff</link>.
220                 </td>
221             </tr>
222             <tr>
223                 <td>
224                     <emphasis role="bold">library</emphasis>
225                 </td>
226                 <td>
227                     <varname>object</varname> est une
228                     <link linkend="library">bibliothèque</link>
229                     de functions écrites en langage Scilab et compilées.
230                 </td>
231             </tr>
232             <tr>
233                 <td>
234                     <emphasis role="bold">pointer</emphasis>
235                 </td>
236                 <td>
237                     <varname>object</varname> est un pointeur, par exemple
238                     utilisé par <link linkend="lufact">lufact</link>.
239                 </td>
240             </tr>
241             <tr>
242                 <td>
243                     <emphasis role="bold">implicitlist</emphasis>
244                 </td>
245                 <td>
246                     <varname>object</varname> est une liste implicite avec
247                     un index formel polynomial, utilisée en indexation.
248                     Voir  <link linkend="dollar">n:$</link> et
249                     <link linkend="colon">: (colon)</link>
250                 </td>
251             </tr>
252             <tr>
253                 <td>
254                     <emphasis role="bold">listdelete</emphasis>
255                 </td>
256                 <td>
257                     est retourné par 
258                     <function>
259                         typeof(<literal>null()</literal>)
260                     </function>
261                     .
262                     Voir  <link linkend="null">null()</link>.
263                 </td>
264             </tr>
265             <tr>
266                 <td>
267                     <emphasis role="bold">void</emphasis>
268                 </td>
269                 <td>est le typeof des éléments de list() indéfinis.
270                 </td>
271             </tr>
272             <tr>
273                 <td colspan="2"></td>
274             </tr>
275             <tr><td colspan="2">
276                     <emphasis role="bold italic">Listes typées T-Lists ou M-Lists :</emphasis>
277                 </td>
278             </tr>
279             <tr><td colspan="2">
280                     Si l'<varname>object</varname> est une
281                     <link linkend="tlist">tlist</link>
282                     ou une <link linkend="mlist">mlist</link>,
283                     <function>typeof</function>
284                     retourne le nom du type défini pour la liste, lequel est
285                     enregistré dans le premier élément de la liste.
286                 </td>
287             </tr>
288             <tr>
289                 <td colspan="2"></td>
290             </tr>
291             <tr><td colspan="2">
292                     <emphasis role="bold italic">Types de T-List ou M-List
293                         prédéfinis et réservés :
294                     </emphasis>
295                 </td>
296             </tr>
297             <tr>
298                 <td>
299                     <emphasis role="bold">dir</emphasis>
300                 </td>
301                 <td>
302                     <varname>object</varname> est la réponse d'une instruction
303                     <link linkend="dir">dir(..)</link>. Les champs définis
304                     sont <literal>name</literal>, <literal>date</literal>,
305                     <literal>bytes</literal>, et <literal>isdir</literal>.
306                 </td>
307             </tr>
308             <tr>
309                 <td>
310                     <emphasis role="bold">state-space</emphasis>
311                 </td>
312                 <td>
313                     <varname>object</varname> est une réprésentation d'état
314                     d'un système dynamique (voir <link linkend="syslin">syslin</link>).
315                 </td>
316             </tr>
317             <tr>
318                 <td>
319                     <emphasis role="bold">XMLDoc</emphasis>
320                 </td>
321                 <td>
322                     <varname>object</varname> est un pointeur de document XML
323                     ouvert créé avec
324                     <link linkend="xmlRead">xmlRead</link>,
325                     <link linkend="xmlReadStr">xmlReadStr</link>,
326                     <link linkend="htmlRead">htmlRead</link>, ou
327                     <link linkend="htmlReadStr">htmlReadStr</link>.
328                     D'autres typeof d'objets XML sont disponibles et réservés.
329                 </td>
330             </tr>
331             <tr>
332                 <td>
333                     <emphasis role="bold">H5Object</emphasis>
334                 </td>
335                 <td>
336                     <varname>object</varname> est un identifiant de fichier
337                     HDF5 ouvert avec
338                     <link linkend="h5open">h5open</link>.
339                     D'autres typeof d'objets HDF5 sont disponibles et réservés :
340                     Voir <link linkend="h5objects">HDF5 Objects</link>.
341                 </td>
342             </tr>
343             <tr>
344                 <td>
345                     <emphasis role="bold">uitree</emphasis>
346                 </td>
347                 <td>
348                     <varname>object</varname> est un arbre graphique interactif,
349                     ou un composant (branche, feuille) d'un tel arbre, créé
350                     avec une des fonctions dédiées. Voir par exemple
351                     <link linkend="uiCreateNode">uiCreateNode</link>.
352                 </td>
353             </tr>
354         </table>
355     </refsection>
356     <refsection role="examples">
357         <title>Exemples</title>
358         <programlisting role="no-scilab-exec"><![CDATA[
359 // Caractères et textes
360 t = ["a" "Hello"   "à é è ï ô û ñ"
361      "1" "Bonjour" "указывает тип объекта"
362      ";" "Chao"    "オブジェクトの型"
363     ]
364 typeof(t)
365
366 // Booléens
367 typeof(%t)
368 typeof("abc"=="def")
369 hm = grand(2,2,2,"uin",0,9)<5
370 typeof(hm)
371
372 // Entiers encodés
373 [ typeof(uint8(%pi))  typeof(int8(-%pi))
374   typeof(uint16(%pi)) typeof(int16(-%pi))
375   typeof(uint32(%pi)) typeof(int32(-%pi))
376   typeof(uint64(%pi)) typeof(int64(-%pi))
377 ]
378
379 // Nombres décimaux
380 n = 1:0.3:2
381 typeof(n)
382 hm = grand(2,2,2,"uin",0,9)
383 typeof(hm)
384
385 // Décimaux entiers
386 n = 1:7
387 typeof(n)
388
389 // Nombres complexes
390 n = [%i 1-%i %pi - 3*%i]
391 typeof(n)
392
393 // "constant" spéciale
394 typeof([])   // empty matrix
395
396 // Polynômes
397 n = [ %z (1-%z)^2]
398 typeof(n)
399 n = [ 3*%i + %z (1-%i*%z)^2]
400 typeof(n)
401
402 // Fractions rationnelles (polynomiales)
403 r = [%s/(1-%s) (1+%s)^2/(1-%s)]   // à coefficients réels
404 typeof(r)
405 r = [%s/(%i-%s) (%i+%s)^2/(1-%s)] // à coefficients complexes
406 typeof(r)
407
408 // Matrices creuses
409 // ----------------
410 w = sprand(100,100,0.001)
411 typeof(w)     // numérique
412 typeof(w==w)  // booléenne
413 //x = mtlb_sparse(sprand(10,10,0.1));
414 //typeof(x)
415
416 // Functions et bibliothèques écrites en Scilab
417 // --------------------------------------------
418 deff('y=f(x)','y=2*x');  // Function en langage Scilab
419 f(%pi)
420 typeof(f)
421 typeof(cosd)    // écrite en Scilab
422
423 typeof(corelib) // Bibliothèque de functions en langage Scilab
424
425 typeof(sin)     // Fonctions primitives non éditables
426 mysin = sin;
427 mysin(%pi/2)
428
429 // Identifiants graphiques
430 // -----------------------
431 clf
432 plot2d()
433 typeof(gcf())
434 // Le type graphique de l'objet graphique est indiqué par l'attribut "type" :
435 gcf().type
436 gca().type
437 gce().type
438
439 close(gcf())
440
441 // Conteneurs de données hétérogènes
442 // ---------------------------------
443 // Liste simple
444 L = list(%pi, %t, %z, %s/(1-%s), "Bonjour", sin, cosd, list("list_in_list", 432));
445 typeof(L)
446
447 // Tableau de cells
448 C = {%pi, %t, %z ; %s/(1-%s), "Bonjour", list("list_in_list", 432) }
449 typeof(C)
450
451 // (Tableau de) Structures
452 S.num = %pi;
453 S.b = %t;
454 S(2).t = "Bonjour"
455 typeof(S)
456
457 // Indices formels génériques
458 // --------------------------
459 typeof($)
460 typeof(:)    // équivalent à "eye()"  (tous les éléments)
461 typeof(3:$)
462
463 // Typeof de deletion ou d'éléments indéfinis
464 // ------------------------------------------
465 typeof([])      // matrice vide
466 typeof(null())
467 L = list(%pi, ,"hey!")
468 typeof(L(2))   // élément indéfini
469
470 // typeof de T-Listes ou M-listes à façon :
471 // --------------------------------------
472 L = tlist(['myLongTypeOf','a','b'], 18, 'Scilab');
473 typeof(L)
474
475 // Typeof de T-List ou M-list prédéfinis réservés
476 // ----------------------------------------------
477 typeof(dir())  // listage du contenu d'un dossier
478
479 doc = xmlReadStr("<root><a att=""foo"">Hello</a></root>");
480 typeof(doc)
481 xmlDelete(doc)
482
483 x = 1;
484 save(TMPDIR + "/x.sod", "x"); // Les fichiers SOD d'enregistrement d'objets
485                               //  Scilab sont au format HDF5
486 a = h5open(TMPDIR + "/x.sod");
487 typeof(a)
488 h5close(a)
489  ]]></programlisting>
490     </refsection>
491     <refsection role="see also">
492         <title>Voir aussi</title>
493         <simplelist type="inline">
494             <member>
495                 <link linkend="type">type</link>
496             </member>
497             <member>
498                 <link linkend="inttype">inttype</link>
499             </member>
500             <member>
501                 <link linkend="overloading">overloading</link>
502             </member>
503             <member>
504                 <link linkend="isreal">isreal</link>
505             </member>
506             <member>
507                 <link linkend="strings">strings</link>
508             </member>
509             <member>
510                 <link linkend="poly">poly</link>
511             </member>
512             <member>
513                 <link linkend="rlist">rlist</link>
514             </member>
515             <member>
516                 <link linkend="null">null</link>
517             </member>
518             <member>
519                 <link linkend="sparse">sparse</link>
520             </member>
521             <member>
522                 <link linkend="issparse">issparse</link>
523             </member>
524             <member>
525                 <link linkend="mtlb_sparse">mtlb_sparse</link>
526             </member>
527             <member>
528                 <link linkend="syslin">syslin</link>
529             </member>
530             <member>
531                 <link linkend="dir">dir</link>
532             </member>
533             <member>
534                 <link linkend="XMLObjects">XML Objects</link>
535             </member>
536             <member>
537                 <link linkend="h5objects">HDF5 Objects</link>
538             </member>
539         </simplelist>
540     </refsection>
541     <refsection role="history">
542         <title>Historique</title>
543         <revhistory>
544             <revision>
545                 <revnumber>6.0</revnumber>
546                 <revdescription>
547                     <itemizedlist>
548                         <listitem>Ajout de l'option "overload". </listitem>
549                         <listitem>Ajout des typeof "uint64" et "int64". </listitem>
550                         <listitem>Suppression du typeof "hypermat". Toute hypermatrice
551                             de type "simple" homogène est désormais encodée de manière
552                             native.
553                         </listitem>
554                         <listitem>Ajout des typeof "listdelete" et "void".</listitem>
555                         <listitem>typeof(:) était "constant" et devient "implicitlist". typeof(1:$) était
556                             "size implicit" etdevient "implicitlist".
557                         </listitem>
558                         <listitem>Le typeof des T-lists et M-lists était limité à 8 caractères.
559                             Les noms de types peuvent maintenant être plus longs.
560                         </listitem>
561                         <listitem>
562                             Typeof "size implicit" renommé en "implicitlist" (<literal>1:$</literal>)
563                         </listitem>
564                         <listitem>Page d'aide revue.</listitem>
565                     </itemizedlist>
566                 </revdescription>
567             </revision>
568         </revhistory>
569     </refsection>
570 </refentry>