줄리아 컨테이너 내부 원소 타입 체크하는 법
개요
eltype()
함수를 사용하면 된다. 아마 element type에서 나온 명명일 것이다.
코드
julia> set_primes = Set([2,3,5,7,11,13])
Set{Int64} with 6 elements:
5
13
7
2
11
3
julia> arr_primes = Array([2,3,5,7,11,13])
6-element Vector{Int64}:
2
3
5
7
11
13
위와 같이 $13$ 까지의 소수를 원소로 가지는 두 가지의 컨테이너를 생각해보자. 솔직히 같은 데이터지만 위는 집합이고 아래는 배열이라는 차이만 있다.
julia> typeof(set_primes)
Set{Int64}
julia> eltype(set_primes)
Int64
julia> typeof(arr_primes)
Vector{Int64} (alias for Array{Int64, 1})
julia> eltype(arr_primes)
Int64
이 둘에 typeof()
를 취하면 당연하게도 집합인지 배열인지가 구분되나, eltype()
은 컨테이너가 무엇이든 내부의 원소가 어떤 타입인지를 리턴해준다.
julia> typeof(1:10)
UnitRange{Int64}
julia> eltype(1:10)
Int64
julia> typeof(1:2:10)
StepRange{Int64, Int64}
julia> eltype(1:2:10)
Int64
위에서 보이는 1:10
과 1:2:10
의 차이는 지나치다 싶을 정도로 타입에 집착하는 줄리아 프로그래밍의 세계에서 eltype()
어떻게 유용하게 쓰일 수 있는지 보여준다.
환경
- OS: Windows
- julia: v1.6.3