Obtener tipo en matriz

8

¿Cómo puedo obtener el tipo dentro de una matriz?

a = [1,2,3]

Puedo obtener el tipo de a

typeof(a)
Vector{Int64}

pero en realidad quiero Int64. Primero, pensé que una solución para novatos podría ser

typeof(a[1])
Int64

pero esto en realidad no es correcto, como se puede ver aquí:

a = [1,2,3, missing]

typeof(a)
Vector{Union{Missing, Int64}}

El tipo del vector es Union{Missing, Int64}, pero el tipo del primer elemento es

typeof(a[1])
Int64

Entonces, ¿cómo obtengo el tipo de vector / matriz?

Georgery
fuente

Respuestas:

9

Usa la eltypefunción:

julia> a = [1,2,3]
3-element Array{Int64,1}:
 1
 2
 3

julia> eltype(a)
Int64

julia> a = [1,2,3, missing]
e4-element Array{Union{Missing, Int64},1}:
 1
 2
 3
  missing

julia> eltype(a)
Union{Missing, Int64}
Bogumił Kamiński
fuente
1
¡Decir ah! Super guay. Gracias.
Georgery
1
Yo la otra respuesta stackoverflow.com/questions/61171531/… He ampliado la lógica de ambos argumentos del tipo paramétrico Array.
Bogumił Kamiński