Nhận loại trong mảng


8

Làm thế nào tôi có thể có được loại bên trong một mảng?

a = [1,2,3]

Tôi có thể có được loại a

typeof(a)
Vector{Int64}

nhưng tôi thực sự muốn Int64. Đầu tiên, tôi nghĩ một người mới làm việc xung quanh có thể

typeof(a[1])
Int64

nhưng điều này thực sự không chính xác, như có thể thấy ở đây:

a = [1,2,3, missing]

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

Loại của vectơ là Union{Missing, Int64}, nhưng loại phần tử đầu tiên là

typeof(a[1])
Int64

Vì vậy, làm thế nào để tôi có được loại vectơ / mảng?

Câu trả lời:


9

Sử dụng eltypechức năng:

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}

1
Hà! Siêu mát. Cảm ơn.
Georgery

1
Tôi trả lời khác stackoverflow.com/questions/61171531/ Tôi đã mở rộng về logic của cả hai đối số của loại tham số Array.
Bogumił Kamiński
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.