EGL 패키지 소개

패키지는 폴더처럼 작업합니다. 소스 파일을 구성하고 이름 충돌을 예방합니다.

전문적으로, 패키지는 관련 파트의 이름 지정된 콜렉션이지만 로컬 시스템에서 폴더 또는 디렉토리와 동일한 방법으로 패키지를 간주하는 것이 더 쉬울 수 있습니다.

패키지는 파일을 서로 다른 컨텍스트로 구분하여 이름 충돌을 방지합니다. 이름이 동일한 두 파트를 동일한 패키지에서 정의할 수 없지만 두 개의 다른 패키지는 각각 동일한 이름의 파트를 가질 수 있습니다. 마찬가지로 해당 패키지가 다른 프로젝트 또는 소스 폴더에 있어도 동일한 이름의 패키지를 작성하지 않고 패키지 간의 충돌을 방지해야 합니다.

EGL 소스 파일의 파트는 모두 동일한 패키지에 속합니다. 파일에서 package 문은(있는 경우) 해당 패키지의 이름을 지정합니다. package 문을 지정하지 않는 경우 파트가 소스 폴더의 루트에 저장되며 기본 패키지에 있는 것으로 간주됩니다. 기본 패키지의 파일은 기타 패키지 또는 프로젝트의 파트가 공유할 수 없으므로 package 문을 지정하는 것이 가장 좋습니다.

패키지 이름은 대소문자를 구분합니다. 패키지의 이름 지정 규칙에 대한 자세한 정보는 package의 내용을 참조하십시오.

패키지로 작성

파트가 동일한 패키지에 있는 다른 파트를 참조하도록 하려는 경우 두 번째 파트의 위치를 지정할 필요가 없습니다. 다음 예제는 동일한 패키지의 두 파트(레코드 파트 및 레코드 파트를 사용하는 프로그램 파트)를 표시합니다.
package com.companyb.firstpackage;

program testProgram type BasicProgram
    function main()
        myVariable myRecordPart;
    endend
Record myRecordPart type BasicRecord
    field1 int;
    field2 string;
end
파트가 다른 패키지에 있는 다른 파트를 참조하도록 하려는 경우 해당 패키지 내에서 파트의 전체 위치를 지정하십시오. 예를 들어, 다음 프로그램 파트는 이전 예제의 레코드 파트를 사용합니다.
package com.companyb.secondpackage;

program testProgram2 type BasicProgram
    function main()
        myVariable2 com.companyb.firstpackage.myRecordPart;
    endend

약칭으로서, import 문을 사용하여 소스 파일의 파트를 사용하려 한다고 EGL에 알릴 수 있습니다. 이런 방법으로 파트를 가져오는 경우, 파트를 사용할 때마다 현재 패키지에 파트가 있더라도 패키지 내에서의 완전한 파트 위치를 지정하지 않고 파트를 사용할 수 있습니다. 이 방법으로 파트를 가져오는 것을 "범위로 파트 가져오기"라고도 합니다.

예를 들어, 다음 프로그램 파트는 이전에 정의된 레코드 파트를 다시 사용하지만 이번에는 파트를 먼저 가져옵니다.
package com.companyb.thirdpackage;

import com.companyb.firstpackage.myRecordPart;

program testProgram3 type BasicProgram
    function main()
        myVariable3 myRecordPart;
    endend
import 문은 소스 파일 이름이 아니라 파트 이름 및 파트에 대한 패키지 경로를 사용함을 참고하십시오.

가져오기에 대한 자세한 정보는 Import 문 및 use 문의 내용을 참조하십시오.