줄리아에서 딕셔너리를 사용하여 여러 키워드 인수를 하나의 변수로 입력하는 법
설명
딕셔너리와 스플랫 오퍼레이터를 이용하면 여러 키워드 인수를 한 번에 함수에 전달할 수 있다.
이런 테크닉은 여러 그림에 같은 옵션을 줘야할 때 유용하다. 만약 모든 그림에 같은 옵션을 넣어야할 경우 함수 defalut
를 쓰면 간단하지만, 하나라도 다른 양식으로 그려야할 일이 있다면 default
를 쓰는 것이 오히려 더 불편하다.
코드
Dict(:keyward=>value)
형식으로 딕셔너리를 만들고, 함수에 넣을 때 스플랫 오퍼레이터를 사용하면 된다. 이때 반드시 딕셔너리 앞에 세미콜론 ;
을 입력해야한다. ;
는 키워드 인수와 일반 인수를 구분하는 역할을 한다. 또한 키워드 이름은 반드시 :keyward
와 같이 심볼로 입력해야한다.
julia> function test(x; a=1, b=2, c=3)
println("a+$x=$(a+x)")
println("b+$x=$(b+x)")
println("c+$x=$(c+x)")
end
test (generic function with 1 method)
julia> test(10, a=1, b=2, c=3)
a+10=11
b+10=12
c+10=13
julia> options = Dict(:a=>1, :b=>2, :c=>3)
Dict{Symbol, Int64} with 3 entries:
:a => 1
:b => 2
:c => 3
julia> test(10; options...)
a+10=11
b+10=12
c+10=13
julia> using Plots
julia> kwargs = Dict(:ylims => (-0.5,0.5), :lw => 4, :lc => :red)
Dict{Symbol, Any} with 3 entries:
:ylims => (-0.5, 0.5)
:lc => :red
:lw => 4
julia> p₁ = plot(randn(20); kwargs...)
julia> p₂ = plot(randn(20); kwargs...)
julia> p₃ = plot(randn(20))
julia> plot(p₁, p₂, p₃)
환경
- OS: Windows11
- Version: Julia 1.10.0, Plots v1.40.3