1. Wel의 상수(Constant) 종류
(1) 정수형 상수(Integer Constant == Fixed Point Constant)
1) 10진 상수: 0(Zero)으로 시작될 수도 있는 10진 숫자열
옳은 예) 100 , -32768 , +256 , 0123 , 000123
틀린 예) 1,234 , #10 , 1 234
2) 8진 상수: 0c(Zero 와 c) 또는 0C(Zero 와 C)로 시작하는 8진 숫자열
옳은 예) 0c377 , 0C101 , -0c345
틀린 예) 0c198 , 0C1 01 , -0c9A
3) 16진 상수: 0x(Zero 와 x) 또는 0X(Zero 와 X)로 시작하는 16진 숫자열
옳은 예) 0x1AB , -0xFf , 0XbF
틀린 예) 0x1 AB , 0xGF
4) 정수형 상수의 범위는 -2147483648 ~ +2147483647이며 그보다 작거나
큰수는 소수점(.)이 없더라도 실수형 상수로 취급한다.
(2) 실수형 상수(Floating Point Constant)
1) 10진 상수: 소수점(.)을 포함하는 10진 숫자열
옳은 예) 100.0 , 100. , 0.12 , .123 , 3.14159266
틀린 예) 1. 234 , 12 .34
2) 8진 상수: 소수점(.)을 포함하는 8진 숫자열
옳은 예) 0c0.77 , 0C10.1 , -0c.345
틀린 예) 0.0c12 , .0C56 , -0.c34
3) 16진 상수: 소수점(.)을 포함하는 16진 숫자열
옳은 예) 0x0.1AB , -0x.ff , 0Xb.F
틀린 예) 0.0x1AB , .0xF6 , -0.x41
(3) 지수 상수: 실수형 상수로서 아주 큰수나 작은수를 표현할 수 있다.
1) 10진 지수 상수
옳은 예) 1e3 , 1.5E3 , 12E-1 , -1.5e+03
틀린 예) 1E3.5 , 1.5e , 12E -1 , -1.5e+ 03
2) 8진 지수 상수
옳은 예) 0c1e1 , 0C1.5e+02 , -0c.3e-3
틀린 예) 0c1 e2 , C5e1.6 , -0.c3e- 3.0
3) 16진 지수 상수: 16진 상수는 지수 상수로 표현하지 못함
(4) 문자 상수(Character Constant)
-. 단일 인용부호(')와 단일 인용부호(') 사이의 한 글자를 의미하며
해당 문자의 코드값(ASC와 같은 문자코드)을 의미하며 문자가 아니라
정수형 상수로 취급한다.
옳은 예) 'A' , '"' , '\'' , '\x41'
틀린 예) 'A , ''' , 'AB'
(5) 문자열 상수(Character String Constant)
-. 이중 인용부호(")와 이중 인용부호(") 사이의 문자들의 나열을 의미한다.
(원시 프로그램 작성시 문자열 상수내에서 줄을 바꾸면 에러 처리되며
여러줄로 나누어 코딩할 수 없다)
옳은 예) "A" , "AB\"CD" , "AB\nCD"
틀린 예) "ABC , "ABC"DEF" , "AB
CD"
(6) 기능성 문자열 상수(Functional String Constant)
-. '{[' 와 ']}' 사이의 문자들의 나열을 의미하며 문자열 상수로 취급한다.
문자열 상수나 기능성 문자열 상수는 parser() 함수로 실행할 수 있으며
프로그램의 한 부분으로 취급될 수 있는 것이 특징이다. parser() 함수를
이용할 때 문자열 상수보다는 기능성 문자열 상수를 사용 하는 것이
편리하다.(원시 프로그램 작성시 여러줄로 나누어 코딩할 수 있다)
-. 기능성 문자열 상수내에서 이중 인용부호(")를 사용할 수 있다.
-. 기능성 문자열 상수내의 확장열(Escape sequence)은 확장이 되지 않는다.
( parser() 함수로 실행하는 시점에서 확장된다 )
옳은 예) routine1= {[ a=5+3; ]}
routine2= {[ a="AB"~"CD"; print(a,"\n"); ]}
틀린 예) {[ a=5+3; ]}
routine= {[ a=5+3; ]} ~ {[ b=3+4; ]}
(7) 기호 상수(Symbolic Constant)
-. C 언어의 기호 상수와는 개념이 다르며 이미 정의된 변수로써 vunlock
명령어로 읽기 전용을 해제하기 전에는 그 값을 변경할 수 없다.
< 기호 상수의 종류 >
argc : 명령어 라인에서 입력한 인자의 개수이다.
argv[첨자] : 명령어 라인에서 입력한 인자의 값을 저장한 배열이다.
WelCopyright : Wel copyright 메시지#1 문자열
WelCopyright2 : Wel copyright 메시지#2 문자열
WelVersion : Wel 버전 문자열
NULL : 수치/포인터 연산에는 그 값이 0 이고 문자열 연산에는
길이가 0 인 Null string으로 취급되며 ""과 유사하다.
ERROR : 에러시 -1을 돌려주는 함수의 비교용, 그 값은 -1 이다.
ON : 스위치의 on을 의미하며 그 값은 정수 1 이다.
OFF : 스위치의 off를 의미하며 그 값은 정수 0 이다.
TRUE : 참의 값을 의미하며 그 값은 정수 1 이다.
FALSE : 거짓의 값을 의미하며 그 값은 정수 0 이다.
EOF : 파일의 끝을 의미하며 그 값은 정수 -1 이다.
FILE_OPEN_ERR : 파일 개방 에러를 의미하며 그 값은 정수 0 이다.
SEEK_SET : fseek() 함수에서 사용하며 그 값은 정수 0 이다.
SEEK_CUR : fseek() 함수에서 사용하며 그 값은 정수 1 이다.
SEEK_END : fseek() 함수에서 사용하며 그 값은 정수 2 이다.
MSQL_ERR : mSQL 함수 에러를 의미하며 그 값은 정수 -1 이다.
MYSQL_ERR : MySQL 함수 에러를 의미하며 그 값은 정수 -1 이다.
IMAP_ERR : IMAP 함수의 에러를 의미하며 그 값은 정수 -1 이다.
FORM_NOERR : formopen() 함수의 결과값으로 그 값은 정수 0 이다.
FORM_OPENERR : formopen() 함수의 결과값으로 그 값은 정수 -1 이다.
FORM_READERR : formopen() 함수의 결과값으로 그 값은 정수 -2 이다.
FORM_OUTMEMERR : formopen() 함수의 결과값으로 그 값은 정수 -3 이다.
LIST_OPENERR : listmerge() 함수의 결과값으로 그 값은 정수 -4 이다.
TYPE_FREE : istype() 함수의 결과값으로 정수(0, 0x0)이다.
TYPE_POINTER : istype() 함수의 결과값으로 정수(16, 0x10)이다.
TYPE_FILEPTR : istype() 함수의 결과값으로 정수(17, 0x11)이다.
TYPE_MSQLPTR : istype() 함수의 결과값으로 정수(24, 0x18)이다.
TYPE_MSQLRESPTR : istype() 함수의 결과값으로 정수(25, 0x19)이다.
TYPE_MYSQLPTR : istype() 함수의 결과값으로 정수(26, 0x1A)이다.
TYPE_MYSQLRESPTR: istype() 함수의 결과값으로 정수(27, 0x1B)이다.
TYPE_SOCKPTR : istype() 함수의 결과값으로 정수(28, 0x1C)이다.
TYPE_MAILPTR : istype() 함수의 결과값으로 정수(29, 0x1D)이다.
TYPE_OBJECT : istype() 함수의 결과값으로 정수(31, 0x1F)이다.
TYPE_STRING : istype() 함수의 결과값으로 정수(32, 0x20)이다.
TYPE_CHAR : istype() 함수의 결과값으로 정수(65, 0x41)이다.
TYPE_INT : istype() 함수의 결과값으로 정수(66, 0x42)이다.
TYPE_LONG : istype() 함수의 결과값으로 정수(68, 0x44)이다.
TYPE_FLOAT : istype() 함수의 결과값으로 정수(132, 0x84)이다.
TYPE_DOUBLE : istype() 함수의 결과값으로 정수(136, 0x88)이다.
|