isfield
Testa se um struct possui os nomes de campo informados.
Categoria: Language Fundamentals > Data Types
Sintaxe
tf = isfield(S, name)
Retorna true se S é um struct com um campo chamado name.
tf = isfield(S, names)
Verifica vários nomes de uma vez e retorna um lógico para cada nome.
Descrição
isfield compara os nomes exatamente, inclusive maiúsculas e minúsculas. Nunca dá erro quando o primeiro argumento não é um struct, apenas responde false, o que o torna seguro para checar campos opcionais de uma entrada desconhecida.
Um nome que não seja texto, dentro do cell array, também resulta em false naquela posição em vez de erro.
Argumentos de entrada
S- Valor a testar. Se não for um struct, o resultado é
false. name, names- Vetor de caracteres, string escalar ou cell array de nomes.
Argumentos de saída
tf- Escalar lógico para um nome, ou array lógico do mesmo tamanho do cell array
names.
Exemplo
Verificando um e vários campos
s.a = 1;
s.b = 'x';
isfield(s, 'a')
isfield(s, {'a', 'c', 'b'})
isfield(5, 'a')
Saída
ans = logical
1
ans = 1×3 logical array
1 0 1
ans = logical
0