O MATLAB possui uma função / operador que indica o tipo de uma variável (semelhante ao typeof
operador em JavaScript)?
188
Use a class
função
>> b = 2
b =
2
>> a = 'Hi'
a =
Hi
>> class(b)
ans =
double
>> class(a)
ans =
char
if ( string(class(b)) == 'double' ) fprintf(1, 'b is double'); end
class()
função é o equivalente atypeof()
Você também pode usar
isa()
para verificar se uma variável é de um tipo específico. Se você quer ser ainda mais específico, você pode usarischar()
,isfloat()
,iscell()
, etc.fonte
Outra função relacionada é
whos
. Ele listará todos os tipos de informações (dimensões, tamanho de bytes, tipo) para as variáveis em um determinado espaço de trabalho.fonte
Tenha cuidado ao usar a
isa
função. Isso será verdadeiro se o seu objeto for do tipo especificado ou de uma de suas subclasses. Você precisa usarstrcmp
com aclass
função para testar se o objeto é especificamente desse tipo e não uma subclasse.fonte
Como ninguém o mencionou, o MATLAB também possui a
metaclass
função, que retorna um objeto com vários bits de informações sobre a entidade transmitida. Estesmeta.class
objetos podem ser úteis para testes de herança (por meio de operadores de comparação comuns).Por exemplo:
Podemos ver que
class(someObj)
é equivalente aoName
campo do resultado demetaclass(someObj)
.fonte
MATLAB - Verificando o tipo de variáveis
Aqui está o código de exemplo executado na janela de comando do MATLAB R2017a .
fonte