변수 선언(Crystal 구문)
수식에 변수를 사용하기 전에 먼저 변수를 선언해야 합니다. 변수는 지정된 형식의 값을 수용할 수 있습니다. 허용된 형식에는 숫자, 통화, 문자열, 부울, 날짜, 시간 및 날짜 시간의 일곱 가지 단순 형식과 숫자 범위, 통화 범위, 문자열 범위, 날짜 범위, 시간 범위 및 날짜 시간 범위의 여섯 가지 범위 형식 및 앞서 언급한 여러 형식의 배열을 사용하는 변수가 있습니다. 따라서, 하나의 변수는 모두 26개의 다른 형식을 사용할 수 있습니다.
변수를 선언할 때는 변수 이름도 지정해야 합니다. 변수는 Crystal 구문에 유효한 함수, 연산자 또는 다른 키워드와 동일한 이름을 사용할 수 없습니다. 예를 들어, Sin은 기본 제공된 함수이고, Mod는 기본 제공된 연산자이고, If는 기본 제공된 키워드이므로 Sin, Mod 또는 If를 변수 이름으로 사용할 수 없습니다. 수식 편집기에서 수식을 입력하면 기본 제공 함수, 연산자 및 기타 키워드의 이름이 다른 색으로 강조되므로 변수 이름이 충돌할 경우 쉽게 알 수 있습니다.
변수를 선언한 다음에는 수식에서 사용할 수 있습니다. 예를 들어, 다음과 같이 변수에 초기 값을 할당할 수 있습니다.
Local NumberVar x;
x := 10;
![]() |
---|
숫자 변수를 선언하는 키워드 끝에는 Var가 붙습니다. 이것은 Crystal 구문의 모든 변수 형식에 적용됩니다. |
변수는 한 가지 형식의 값만 사용할 수 있습니다. 예를 들어, 변수가 숫자 값을 사용할 경우 나중에 이 변수에 문자열을 사용할 수 없습니다.
Local StringVar y;
y := "hello";
//올바름 - Length 함수는 문자열 인수를 받습니다.
Length (y);
//오류 - y는 문자열 값만 가질 수 있습니다.
y := #Jan 5, 1993#;
//오류 - y는 문자열 값만 가질 수 있습니다.
y := ["a", "bb", "ccc"];
//오류- Sin 함수는 숫자 인수를 받습니다.
Sin (y);
변수 선언 및 값 할당을 단일 식에 조합할 수 있습니다. 예를 들면 다음과 같습니다.
Local NumberVar x := 10 + 20;
Local StringVar y := "Hello" + " " + "World";
Local DateVar z := CDate (#Sept 20, 1999#);
Local NumberVar Range gradeA := 90 To 100;
이 방법은 보다 효율적이고 초기화가 잘못된 변수를 사용하는 일반적인 실수를 막아 주므로 바람직합니다.
다음은 범위 변수를 선언하고 초기화하는 몇 가지 예입니다.
Local NumberVar Range gradeA;
Local DateVar Range quarter;
gradeA := 90 To 100;
quarter := CDate (1999, 10, 1) To CDate (1999, 12, 31);