Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2024.0.0 - Português


typeof

tipo do objeto

Seqüência de Chamamento

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

Parâmetros

object

objeto Scilab

t

a string (may have spaces): the name of the type of object

oc

a string (without spaces): the name of the overloading code for the object.

Descrição

t = typeof(object) retorna um dos seguintes strings:

string object é uma matriz ou hipermatriz de caracteres e/o textos.
boolean object é uma matriz ou hipermatriz de valores booleanos.
int8 ou int16 ou int32 ou int64 ou uint8 ou uint16 ou uint32 ou uint64
object is a matrix or hypermatrix of [unsigned] integers stored on 8, 16, 32 or 64 bits. (see inttype)
constant object é uma matriz ou hipermatriz de números reais ou complexos
polynomial object é uma matriz ou hipermatriz de polinômios com coeficientes reais ou complexos.
rational object é uma matriz ou hipermatriz de razões de polinômios (matriz de transferência), com coeficientes reais ou complexos.
handle object is a graphics handle. The subtype of graphics handles (Figure, Axes, Polyline, Compound, etc) is available in their .type property. See examples below.
list object é uma lista.
st object é uma estrutura ou um nD-array de estruturas.
ce object é uma célula ou um nD-array de células.
boolean sparse object é uma matriz de valores booleanos esparsa.
Sparse boolean hypermatrices are not supported.
sparse object é uma matriz esparsa de números reais ou complexos.
Sparse numerical hypermatrices are not supported.
fptr object is a built-in Scilab function, called also gateway (C, C++ or Fortran code), a.k.a. a primitive.
function object is a function (Scilab code). See also deff.
library object is a library of functions in Scilab language.
pointer object é um ponteiro (ver lufact).
implicitlist object é um polinômio de tamanho implícito para indexação. Ver n:$ e : (colon)
listdelete is returned by typeof(null()) . See null().
void is the typeof undefined elements in lists.
Typed T-Lists or M-Lists:
Note that if the object is a tlist or a mlist, typeof will return the corresponding customized type stored in as a string in the first list entry.
Reserved T-List or M-List types predefined in Scilab:
dir object is the result of a dir() instruction, with fields name, date, bytes, and isdir.
state-space object is a state-space model (see syslin).
program object is a list describing the internal code of a function (see macr2tree).
cblock object is a block of columns of same heights but of different data types, as returned by mfscanf.
XMLDoc object is an XML Document created with xmlRead, xmlReadStr, htmlRead, or htmlReadStr. Additional XML typeof are defined.
H5Object object is the id of an HDF5 file opened with h5open. Additional HDF5 typeof are defined: See HDF5 Objects.
uitree object is a tree, a branch or a leaf as created with a uitree feature. See for instance uiCreateNode.
Reserved T-list types used in Xcos :
Block object is a Xcos block.
cpr object is a tlist containing the compilation results of a Xcos diagram.
diagram object is a tlist defining a Xcos diagram: initial parameters, set of blocks, of links between blocks, and of Text labels belonging to the diagram.
graphics object is a tlist assigned to the .graphics field of a block.
Link object is a tlist defining and configuring a link between 2 blocks.
model object is a tlist assigned to the .model field of a block.
params object is a tlist containing some configuration parameters of a Xcos diagram.
scsopt object is a tlist containing the graphical options of the Xcos diagram editor.
scs object is a tlist containing static results of the compilation of a Xcos diagram.
xcs object is a tlist containing dynamical results during a Xcos simulation.
Text object is a tlist defining a text label in a Xcos diagram.

Exemplos

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

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

// Encoded integers
[ typeof(uint8(%pi))  typeof(int8(-%pi))
  typeof(uint16(%pi)) typeof(int16(-%pi))
  typeof(uint32(%pi)) typeof(int32(-%pi))
  typeof(uint64(%pi)) typeof(int64(-%pi))
]

// Decimal numbers
n = 1:0.3:2
typeof(n)
hm = grand(2,2,2,"uin",0,9)
typeof(hm)

// Decimal integers
n = 1:7
typeof(n)

// Complex numbers
n = [%i 1-%i %pi - 3*%i]
typeof(n)

// Special "constant"
typeof([])   // empty matrix

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

// Rational fractions
r = [%s/(1-%s) (1+%s)^2/(1-%s)]   // with real coefficients
typeof(r)
r = [%s/(%i-%s) (%i+%s)^2/(1-%s)] // with complex coefficients
typeof(r)

// Sparse matrices
// ---------------
w = sprand(100,100,0.001)
typeof(w)     // sparse
typeof(w==w)  // boolean sparse

// Functions and libraries
// -----------------------
deff('y=f(x)','y=2*x');  // Function in Scilab language
f(%pi)
typeof(f)
typeof(cosd)  // written in Scilab

typeof(corelib) // Library of functions in Scilab language

typeof(sin)     // Built-in function (non-editable)
mysin = sin;
mysin(%pi/2)

// Graphical handles
// -----------------
clf
plot2d()
typeof(gcf())
// The subtype of the handle is in the "type" property:
gcf().type
gca().type
gce().type

close(gcf())

// Containers
// ----------
// Simple list
L = list(%pi, %t, %z, %s/(1-%s), "Bonjour", sin, cosd, list("list_in_list", 432));
typeof(L)

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

// (Array of) Structure
S.num = %pi;
S.b = %t;
S(2).t = "Bonjour"
typeof(S)

// Special generic indexing expressions
// ------------------------------------
typeof($)
typeof(:)    // "eye()" equivalent (all elements)
typeof(3:$)

// Typeof for deletion or undefined elements:
// -----------------------------------------
typeof([])      // empty matrix
typeof(null())
L = list(%pi, ,"hey!")
typeof(L(2))   // undefined element

// Customized typeof of T-Lists:
// ----------------------------
L = tlist(['myLongTypeOf','a','b'], 18, 'Scilab');
typeof(L)

// Reserved T-List typeof
// ----------------------
typeof(dir())        // Files directory
//
c = macr2tree(sind); // Internal code of a Scilab macro
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"); // SOD files are HDF5 ones
a = h5open(TMPDIR + "/x.sod");
typeof(a)
h5close(a)

Ver Também

  • type — tipo de variável
  • inttype — tipos de dados inteiros
  • overloading — capacidades de overloading ("sobrecarga") de exibições, funções e operadores
  • isreal — verifica se uma variável é armazenada como real ou complexa.
  • strings — objeto Scilab, strings (cadeias de caracteres)
  • poly — Polynomial definition from given roots or coefficients, or characteristic to a square matrix.
  • rlist — definição de função racional do Scilab
  • null — deletes a list component or a field of a structure, Mlist, or Tlist
  • sparse — definição de matriz esparsa
  • issparse — tests whether the input is sparse encoded (numeric or boolean)
  • syslin — definição de sistemas lineares
  • dir — gets file list
  • XML Objects — Describe the properties of the different XML objects
  • HDF5 Objects — Describe the properties of the different H5 objects

Histórico

VersãoDescrição
6.0
  • "overload" keyword added.
  • typeof "uint64" and "int64" added.
  • typeof "hypermat" removed. Hypermatrices of any homogeneous type are now natively supported.
  • typeof "listdelete" added (as returned by null()).
  • typeof() can now be used for any undefined element of a list. It then returns the new "void" typeof.
  • The typeof of T-lists and M-lists were limited to 8 characters. They may be longer now.
  • typeof "size implicit" renamed "implicitlist" (1:$)
  • Help page reviewed.
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:
Tue Oct 24 14:35:23 CEST 2023