type
возвращает тип переменной
Синтаксис
i = type(x)
Аргументы
- x
объект Scilab'а.
- i
целое число.
Описание
type(x)
возвращает целое число, которое равно типу x
:
- 1
- матрица вещественных или комплексных значений удвоенной точности (double).
- 2
- матрица полиномов.
- 4
- матрица логических значений.
- 5
- разрежённая матрица.
- 6
- разрежённая матрица логических значений.
- 7
- разрежённая матрица Matlab'а.
- 8
- матрица целочисленных значений, хранимых в 1
(
int8
), 2 (int16
) , 4 (int32
) или 8 (int64
) байтах. - 9
- матрица графических дескрипторов.
- 10
- матрица символьных строк.
- 13
- компилированная функция (Scilab code).
- 14
- библиотека функций.
- 15
- список (list).
- 16
- типизированный список (tlist).
- 17
- матричноориентированный типизированный список (mlist).
- 128
- идентификатор блока Xcos, результата lufact() и т. д.
- 129
- размер неявного многочлена, используемый для индексации.
- 130
- встроенная функция Scilab'а, называемая также шлюзом (код C, C++ или Fortran).
- 0
- Неопределённый компонент простого списка. Такой компонент может быть в качестве
опущенного входного аргумента при вызове Scilab-функции, как, например, в
foo(a,,b)
: внутри функции отсутствующий аргумент определён, но он нулевого типа. ОпределениеL=list(%pi,,%i,,,%z)
создаётL(2)
типа 0, и т.д. Для этих объектовisdef()
возвращает%T
, но их нулевой тип может быть проверен с помощьюtype()
.
Примечания
Некоторые данные могут быть сохранены в настраиваемых контейнерах, определённых как
типовые списки типа 16 (tlist) или 17 (матрично-ориентированный типизированный список
mlist). Это также и случай для встроенных типов, как например (рациональные числа),
(структуры), пространство состояний
state-space, интерактивные деревья
(uitree), и т.д., для которых
type(..)
вернёт 16 или 17. Нужно использовать typeof
для получения более детальной информации об их действительном (под)типе.
Преобразование типов в смешанных операциях:
Когда бинарный оператор (например, умножение) или n-арный итерационный оператор (например, конкатенация) применяется межжду двумя операндами различных, но совместных типов, обычно тип одного из двух неявно конвертируется, а другой операнд устанавливает тип результата к своему собственному типу.
Примеры с конкатенацией :
[%t, 3.124]
, [int8(5), 3.124]
, и т.д.
Для конкатенации, сложения, вычитания, умножения, деления и возведения в степень иерархия между типами операндов следующая (читай "A < B": B устанавливает свой тип для A) :
- логическое < (десятичное значение, комплекснозначное)
- (десятичное число, комплекснозначное число) < кодированное целое.
- полиномиальное значение (вещественное | комплексное) < рациональное значение (вещественное | комплексное)
Примеры
// Выберите строки, щелкните их правой кнопкой мыши и выберите «Execute ..», чтобы запустить их L = list(%pi,,"abc"); type(L(2)) // неопределённый компонент списка type(42) // десятичные числа type(%nan) type(%inf) type(1+%i) // комплекснные числа s = sparse([1,2;4,5;3,10],[1,2,3]); type(s) // разрежённые десятичные или комплексные числа type(%t) // логические значения type(s>2) // разрежённые логические значения g = int8([1 -120 127 312]); // кодированные целые числа type(g) type(1.23 * int8(4)) type(1-%z+%z^2) // полиномиальные значения type(gdf()) // указатели на графические окна type("foo") // текстовые значения deff('[x] = mymacro(y,z)',['a=3*y+1'; 'x=a*z+y']); type(mymacro) // функции Scilab type(disp) // Встроенные фукнции l = list(1,["a" "b"]); // простые списки type(l) e = tlist(["listtype","field1","field2"], [], []); type(e) // типизированный список h = mlist(['V','name','value'],['a','b';'c' 'd'],[1 2; 3 4]); type(h) // типизированный матрично-ориентированный список clear s, s.r = %pi // структуры type(s) c = {%t %pi %i %z "abc" s} // cell-массивы type(c) r = [%z/(1-%z) (1-%z)/%z^2] type(r) // рациональные дроби
Смотрите также
- typeof — explicit type or overloading code of an object
- inttype — возвращает тип целых чисел, используемых в типах целочисленных данных
- isreal — проверка, имеет ли переменная вещественные или комплексные элементы
- квадратные скобки — Конкатенация. Получатели присвоения. Результаты функции.
- перегрузка — возможности перегрузки отображения, функций и операторов
- poly — Определение полинома через указанные корни или коэффициенты или определение характеристического полинома квадратной матрицы.
- rational — объекты Scilab, рациональное число в Scilab
- tlist — объект Scilab'а и определение типизированного списка
- mlist — объект Scilab'а, определение матричноориентированного типизированного списка
История
Версия | Описание |
6.0 | Тип 11 был удалён. Он использовался для некомпилировнных Scilab-функций. |
Report an issue | ||
<< strings | types | typename >> |