logo

줄리아에서 다른 파일에 정의한 함수 사용하는 법 📂줄리아

줄리아에서 다른 파일에 정의한 함수 사용하는 법

개요

다른 파일에 있는 함수를 사용할 수 있게끔 줄리아 코드 자체를 실행시키는 함수 include()를 소개한다. 매트랩에서는 같은 디렉터리 내에 있으면 알아서 함수를 찾아주곤 해서 이 과정을 어렵게 생각하는 사람도 있다. 참고로 제대로 모듈화를 해서 내보내는 방법이 있지만1 어렵고 복잡하기 때문에 당장 기능이 급한 초보자들에게는 추천하지 않는다. 모듈화는 패키지를 직접 만들거나 프로그램의 규모가 감당이 안 될 정도로 커진 뒤에 배워도 늦지 않다.

가이드

위와 같이 foo/bar.jl 파일에 있는 baz() 함수를 main.jl에서 실행시키고 싶다고 하자. 스크린샷에서 확인할 수 있듯 모듈 같은 건 따로 사용하지 않고 그냥 평범하게 줄리아 코드를 작성하면 된다.

이제 위와 같이 include()로 경로를 주고 실행한 결과는 다음과 같다.

include()의 실행 결과에서 23이 찍힌 이유는 bar.jl 파일의 가장 아래에서 y = 23과 같은 값 할당이 있었기 때문이다. 보다시피 함수만 전달할 수 있는 게 아니라 그 파일 자체를 실행시키는 방식이기 때문에 변수도 옮길 수 있고 데이터 로드, 로그 출력도 모두 겸할 수 있다.

환경

  • OS: Windows
  • julia: v1.8.3