행복감-상수

상수는 프로그램의 수명에서 절대로 변경 될 수없는 초기 값이 할당 된 변수이기도합니다. Euphoria는 다음과 같이 상수 키워드를 사용하여 상수를 정의 할 수 있습니다.

constant MAX = 100
constant Upper = MAX - 10, Lower = 5
constant name_list = {"Fred", "George", "Larry"}

표현식의 결과는 이전에 정의 된 함수에 대한 호출을 포함하는 상수에도 할당 될 수 있지만 일단 할당되면 상수 변수의 값이 "고정"됩니다.

상수는 서브 루틴 내에서 선언 할 수 없습니다. 범위constant 범위 수정자가 없으면 선언에서 시작하여 선언 된 파일의 끝과 끝입니다.

#!/home/euphoria-4.0b2/bin/eui

constant MAX = 100
constant Upper = MAX - 10, Lower = 5

printf(1, "Value of MAX %d\n", MAX )
printf(1, "Value of Upper %d\n", Upper )
printf(1, "Value of Lower %d\n", Lower )

MAX = MAX + 1
printf(1, "Value of MAX %d\n", MAX )

이것은 다음과 같은 오류를 생성합니다-

./test.ex:10
<0110>:: may not change the value of a constant
MAX = MAX + 1
   ^

Press Enter

예제에서 마지막 두 줄을 삭제하면 다음 결과가 생성됩니다.

Value of MAX 100
Value of Upper 90
Value of Lower 5

열거

열거 형 값은 첫 번째 값의 기본값이 숫자 1이고 그 이후의 각 항목은 1 씩 증가하는 특수한 유형의 상수입니다. 열거 형은 숫자 값만 사용할 수 있습니다.

열거 형은 서브 루틴 내에서 선언 할 수 없습니다. 범위enum 범위 수정자가 없으면 선언에서 시작하여 선언 된 파일의 끝과 끝입니다.

#!/home/euphoria-4.0b2/bin/eui

enum ONE, TWO, THREE, FOUR

printf(1, "Value of ONE %d\n", ONE )
printf(1, "Value of TWO %d\n", TWO )
printf(1, "Value of THREE %d\n", THREE )
printf(1, "Value of FOUR %d\n", FOUR )

이것은 다음 결과를 생성합니다-

Value of ONE 1
Value of TWO 2
Value of THREE 3
Value of FOUR 4

한 항목에 숫자 값을 할당하여 값을 변경할 수 있습니다. 후속 값은 기본값이 지정되지 않는 한 항상 이전 값에 1을 더한 값입니다.

#!/home/euphoria-4.0b2/bin/eui

enum ONE, TWO, THREE, ABC=10, XYZ

printf(1, "Value of ONE %d\n", ONE )
printf(1, "Value of TWO %d\n", TWO )
printf(1, "Value of THREE %d\n", THREE )
printf(1, "Value of ABC %d\n", ABC )
printf(1, "Value of XYZ %d\n", XYZ )

이것은 다음 결과를 생성합니다-

Value of ONE 1
Value of TWO 2
Value of THREE 3
Value of ABC 10
Value of XYZ 11

시퀀스는 정수 인덱스를 사용하지만 열거 형을 사용하면 다음과 같은 코드를 작성할 수 있습니다.

enum X, Y
sequence point = { 0,0 }

point[X] = 3
point[Y] = 4