Record scope — 레코드 필드의 유효 범위

Record scope — 레코드 필드의 유효 범위

레코드를 선언하고 나면 그 안의 필드 이름을 어디까지 쓸 수 있는지가 궁금할 때가 있어요. 레코드 필드 식별자가 유효한 위치를 정리해 드릴게요.

출처: Record scope - Free Pascal Reference

본문

레코드 정의 안의 필드 식별자는 다음 세 곳에서 유효해요:

  1. 레코드 정의가 끝날 때까지 — 즉 레코드 타입을 선언하는 동안에는 그 필드 이름을 쓸 수 있어요.
  2. 해당 레코드 타입을 가진 **변수의 필드 지정자(field designator)**에서 — recordVar.fieldName처럼 쓸 때죠.
  3. 해당 레코드 타입의 변수를 다루는 With 문장 안의 식별자에서 — with r do ...처럼 쓰면 필드 이름을 그대로 참조할 수 있어요.

레코드 필드는 기본적으로 이 세 영역에서만 의미를 가지니, 그 밖의 곳에서 필드 이름을 쓰면 식별자를 못 찾는 오류가 나요.

더 알아보기

  • Block scope — 블록 안에서의 변수 유효 범위
  • Class scope — 클래스 컴포넌트 식별자의 유효 범위
  • Unit scope — 유닛 인터페이스 식별자의 유효 범위