logo

줄리아에서 딕셔너리를 사용하여 여러 키워드 인수를 하나의 변수로 입력하는 법 📂줄리아

줄리아에서 딕셔너리를 사용하여 여러 키워드 인수를 하나의 변수로 입력하는 법

설명

딕셔너리스플랫 오퍼레이터를 이용하면 여러 키워드 인수를 한 번에 함수에 전달할 수 있다.

이런 테크닉은 여러 그림에 같은 옵션을 줘야할 때 유용하다. 만약 모든 그림에 같은 옵션을 넣어야할 경우 함수 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