VBScript 변수

예제

변수 생성
변수는 정보를 저장하는 데 사용됩니다. 이 예제에서는 변수를 생성하고 값을 할당하는 방법을 보여줍니다.
텍스트에 변수 값 삽입
이 예제에서는 어떻게 변수 값이 텍스트에 삽입되는지 보여줍니다.
배열 생성
배열은 관련된 데이터 항목을 저장하는 데 사용됩니다. 이 예제에서는 이름을 저장하는 배열을 생성하는 방법을 보여줍니다. (이 예제에서는 "for loop"을 사용하여 이름을 출력하는 방법을 보여줍니다.)

변수는 무엇인가요?

변수는 정보를 저장할 수 있는 "컨테이너"입니다. 스크립트에서는 변수의 값을 변경할 수 있습니다. 변수의 이름을 사용하여 값을 확인하거나 변경할 수 있습니다. VBScript에서는 모든 변수가 타입과 관련이 있으며, 다양한 타입의 데이터를 저장할 수 있습니다.

변수 이름의 규칙:

  • 알파벳으로 시작해야 합니다.
  • 점(.)를 포함할 수 없습니다.
  • 255개의 문자를 초과할 수 없습니다.

변수 선언

Dim, Public 또는 Private 문을 사용하여 변수를 선언할 수 있습니다. 예를 들어 이렇게 할 수 있습니다:

dim name
name=some value

지금, 변수를 생성했습니다. 변수 이름은 "name"입니다.

이름을 사용하여 변수를 생성할 수도 있습니다. 예를 들어 이렇게 할 수 있습니다:

name=some value

이렇게 하면 "name"라는 이름의 변수를 또 다시 생성합니다.

그러나 이렇게 한 것은 좋은 습관이 아닙니다. 왜냐하면 스크립트에서 변수 이름을 잘못 틀릴 수 있으며, 이로 인해 스크립트 실행 중에 이상한 결과가 발생할 수 있습니다. 예를 들어, "name" 변수를 "nime"로 잘못 입력하면 스크립트는 자동으로 "nime"라는 이름의 변수를 생성합니다. 이런 행동을 방지하기 위해 Option Explicit 문을 사용할 수 있습니다. 이 문을 사용하면 모든 변수를 dim, public 또는 private 문으로 선언해야 합니다. Option Explicit 문을 스크립트의 시작에 위치시키면 이렇게 됩니다:

option explicit
dim name
name=some value

변수에 값 할당

특정 변수에 값을 할당할 수 있습니다. 예를 들어 이렇게 할 수 있습니다:

name="George"
i=300 

변수 이름은 표현식의 왼쪽에 있으며, 할당해야 할 값은 표현식의 오른쪽에 있습니다. 지금, 변수 "name"의 값은 "George"입니다.

변수의 생존 기간

변수의 생존 기간은 그것이 존재할 수 있는 시간을 의미합니다.

하나의 서브프로그램에서 변수를 선언하면, 변수는 해당 프로그램 내에서만 접근할 수 있습니다. 프로그램을 종료하면 변수도 만료됩니다. 이런 변수는 로컬 변수라고 합니다. 다른 서브프로그램에서 이름이 같은 로컬 변수를 사용할 수 있습니다. 왜냐하면 각 변수는 그것을 선언한 프로그램 내에서만 인식됩니다.

서브 프로그램 외에 변수를 선언하면 페이지상의 모든 서브 프로그램에서 접근할 수 있습니다. 이런 변수의 생명주기는 선언된 순간부터 페이지가 닫힌 순간까지입니다.

배열 변수

단일 변수에 여러 값을 할당해야 할 때가 있습니다. 이 경우, 여러 값을 포함할 수 있는 변수를 생성할 수 있습니다. 이런 변수는 배열이라고 합니다. 배열 변수의 선언은 변수 이름 뒤에 괄호()를 사용합니다. 아래의 예제에서 세 개의 요소를 포함하는 배열을 생성했습니다:

dim names(2)

중괄호 안의 숫자는 2입니다. 배열의 인덱스는 0에서 시작되며, 이 배열은 세 개의 요소를 포함하고 있습니다. 이는 용량이 고정된 배열입니다. 배열의 각 요소에 데이터를 할당할 수 있습니다:

names(0)="George"
names(1)="John"
names(2)="Thomas" 

특정 배열 요소의 인덱스 번호를 사용하여 어떤 요소의 값을 가져올 수도 있습니다. 예를 들어:

father=names(0)

배열에서는 최대 60 개의 차원을 사용할 수 있습니다. 다중 차원 배열을 선언하는 방법은 중괄호() 안에 콤마로 구분된 숫자를 사용합니다. 예를 들어, 5 행 7 열을 가진 2차원 배열을 선언했습니다:

dim table(4, 6)