줄리아의 네임드 튜플
개요
네임드 튜플named Tuple은 일반적인 튜플과 달리 딕셔너리나 구조체structure처럼 사용할 수 있는 튜플이다1. 심볼symbol의 배열을 키key로 가지고 키로써 밸류value에 접근할 수 있으면서도 튜플처럼 사용할 수 있다.
코드
x = rand(Bool, 5); y = rand(Bool, 5);
z = (; x, y)
typeof(z)
z.x
위의 코드를 실행해서 네임드 튜플을 어떻게 사용하는지 확인해보자.
julia> z = (; x, y)
(x = Bool[0, 0, 1, 1, 0], y = Bool[1, 1, 0, 0, 0])
julia> typeof(z)
NamedTuple{(:x, :y), Tuple{Vector{Bool}, Vector{Bool}}}
네임드 튜플을 쉽게 만드는 방법은 위와 같이 튜플을 만들되 왼쪽 괄호 바로 뒤에 세미콜론 ;
을 찍는 것이다. 예로써 (; x)
는 (; x=x)
과 같다2.
julia> z.x
5-element Vector{Bool}:
0
0
1
1
0
julia> z[2]
5-element Vector{Bool}:
1
1
0
0
0
네임드 튜플은 위와 같이 네임의 심볼로도 접근할 수 있고, 인덱스로도 접근할 수 있다.
환경
- OS: Windows
- julia: v1.6.3