줄리아에서의 메타 프로그래밍

줄리아에서의 메타 프로그래밍

Meta programming in julia

코드 1

줄리아에서는 메타 프로그래밍을 언어 차원에서 지원한다. 다음은 문자열을 코드 그 자체로 읽고 실행한 결과다.

julia> text = "f(x) = 2x + 1; f(2)"
"f(x) = 2x + 1; f(2)"

julia> code = Meta.parse(text)
:($(Expr(:toplevel, :(f(x) = begin
          #= none:1 =#
          2x + 1
      end), :(f(2)))))

julia> eval(code)
5
  • Meta.Parse(): 이 함수를 통해 입력된 문자열을 표현식Expression으로 바꿔 반환한다.
  • eval(): 표현식을 평가Evaluate한다. 위 예제코드에서는 $f(2)$ 가 실제로 평가되어 함숫값인 $5$를 얻었다.

환경

  • OS: Windows
  • julia: v1.5.0

  1. https://docs.julialang.org/en/v1/manual/metaprogramming/ ↩︎

댓글