-
Notifications
You must be signed in to change notification settings - Fork 1
Variables
Seonghong Min edited this page Feb 4, 2020
·
7 revisions
- Variable (변수)
- Array (배열, 고정크기)
- ArrayList (가변크기배열)
-
Variable (변수)
- double, int, string, datetime 형이 존재함
- 선언 후, 초기화 없이 사용할 수 없음
- 변수명은 영문자, _, $로만 시작
- 선언된 변수만 사용가능하여아 하며, 선언과 동시에 초기화 가능
int cnt = 0
datetime expireDate = 1520000000
string msg = "success"
double xx = 3.45, yy = 5.5
-
int k = 5, y, z = 7
→ 이 경우 변수 y는 초기화 되지 않았음 - 선언과 동시에 초기화할 때, 함수의 리턴 값으로 초기화 가능
double xx = addNums(parma1, param2)
- 전역 변수
- 함수 밖에서 선언됨
- 스크립트 수행중 값이 변경된 경우, 변경된 값을 저장함.
- 로컬 변수의 생명주기(lifecycle)
- 함수 내부의 For/If 등의 블록안에서 변수가 선언된 경우에, 해당 블록을 벗어난 후에도 변수가 메모리에 남아있음.
- 함수 안의 로컬 변수는 선언 위치와 관계없이, 해당 함수가 종료된 후, 메모리에서 제거됨.
- double 형
-
소숫점 처리
- int 형 변수에 값을 할당하면, 내림(floor)값으로 저장됨
-
k = 2.55
: 변수 k의 값은 2가 됨.
-
- 내부 연산은 double형을 기준으로 이루어지나, binary로 저장될 때에 소숫점 6자리까지만 반영
- LEN_DECIMAL_POINTS 값을 통해 유효 소숫점 자릿수 지정가능
- 부동소숫점(c++ 기준) 표현으로 오차에 주의 필요
- int 형 변수에 값을 할당하면, 내림(floor)값으로 저장됨
-
bool type은 현재 지원하지 않음.
- double 형을 이용하여 1.0 = true, 0.0 = false(실제로는 1이 아닌 경우, 모두 false)의 의미로 사용 가능
-
- int 형
- double, datatime와 연산가능
- datetime 형(uint형식과 비슷)은 시간값을 저장하기 위한 변수임
datetime timeNow = system.now
- unix time으로 초 기준임
- datetime간 연산은 불가능하며, int형과의 더하기/빼기 연산 가능
- 주의: 덧셈/뺄셈 연산시, int형 값을 seconds(초) 값으로 간주하여 계산
- string 형
string msg = 'precess success!'
-
msg.length()
: 문자열의 길이 반환 - string형을 제외한 나머지 타입은 변수명.toString()를 사용하여, string형으로 변환 가능
- double, int, string, datetime 형이 존재함
- Array (배열)
- double, int, string형 변수를 1차원 배열로 만들수 있음.
- 배열 선언시 최대 10000개 크기로 생성 가능 (추후 변경될 수 있음)
- 메모라 주소 (함수 + 전역 변수 + 전역 배열 개수의 합) 값은 최대 60000개까지 허용 (추후 변경될수 있음)
- 변수 키워드로 선언하며, 선언시 정수형으로 크기를 지정해야됨.
- ex) int numList[5] : int형으로 5개짜리 배열 생성되며 0으로 초기화됨
- 선언시 첨자(배열 크기를 지정)로 수식(혹은 변수) 사용 불가
- 현재 스크립트 분석 단계에서 사용할 메모리 크기를 미리 확정해야되기 떄문에 변수나 수식 사용 불가
- 배열 선언시 자동으로 초기화됨. (전체 초기값 할당 불가)
- int, double type은 0, string은 ""
- 내부함수
-
배열명.size()
: 배열의 크기값(int type)을 반환 -
배열명.indexOf(search_value, start_index, search_range)
: 배열안에서 특정 값이 존재하는 인덱스(int type) 값을 반환- search_value는 배열의 타입과 일치해야 되며, start_index는 배열에서 검색을 시작할 인덱스(위치)로 int type임.
- start_index 및 search_range는 생략가능하며, 생략할 경우, 처음(0번 인덱스)부터 끝까지 검색함.
- 찾을 수 없을 경우, -1을 반환
-
배열명.resize(new_size)
: 배열의 크기를 변경함.- 크기가 커질 경우, 확장된 영역에는 초기값으로 추가됨.
- 크기가 작아질 경우, 기존 데이터가 삭제됨.
-
- double, int, string형 변수를 1차원 배열로 만들수 있음.
- ArrayList (가변크기배열)
- 현재 double, int, string형 변수를 벡터로 선언할 수 있음
- 선언형식:
vector<type> name
- 선언형식:
- 내부함수
-
arrayList_name.size()
: 배열의 크기값(int type)을 반환 -
arrayList_name.indexOf(search_value, start_index, search_range)
: arrayList에서 특정 값이 존재하는 인덱스(int type) 값을 반환- search_value는 벡터의 타입과 일치해야 되며, start_index는 arrayList에서 검색을 시작할 인덱스(위치)로 int type임.
- start_index 및 search_range는 생략가능하며, 생략할 경우, 처음(0번 인덱스)부터 끝까지 검색함.
- 찾을 수 없을 경우, -1을 반환
- 'arrayList_name.add(T, num_items)' : 벡터의 끝에 변수를 추가
- num_items을 생략할 경우, 1임.
- 'arrayList_name.insert(T, idx, num_items)' : 지정된 index에 변수를 추가
- num_items을 생략할 경우, 1임.
- 'arrayList_name.remove(idx, num_items)' : 지정된 index의 요소를 삭제
- num_items을 생략할 경우, 1임.
- 'arrayList_name.clear()' : 모든 요소를 삭제함.
-
- 현재 double, int, string형 변수를 벡터로 선언할 수 있음