Posted
Filed under asp,asp.net

[원문] - http://flashcafe.org/?document_srl=3809

이번 시간엔 배열에 관해 살펴보도록 하겠습니다.


VBScript에서도 다른 언어와 배열을 선언하여 사용할 수가 있습니다. 보통 하나의 변수에 하나의 값을 할당하여 이용하게 되는데 배열은 같은 변수에 하나 이상의 값을 저장하고자 할 때 사용하는 것입니다. 즉, 하나의 변수에 둘 이상의 값을 가질 수도 있는데 이러한 경우 배열을 이용하게 됩니다. 이러한 배열의 값에 접근하는 경우에는 변수명(지수)과 같은 형태로 개별적인 값에 접근하게 됩니다.


배열은 1차원 배열 뿐 아니라 2차원, 3차원 배열도 이용할 수 있습니다. 하지만, 3차원 이상만 되어도 이해하기 힘드므로 특별한 이유가 아니라면 너무 높은 다차원 배열의 이용은 피하는 것이 좋습니다. (사실 다차원 배열 만들다보면 만든 사람 본인도 헷갈린다고 합니다. ^^)


배열은 변수를 선언할 때와 마찬가지로 Dim문을 이용하여 선언하고 변수명 뒤에 배열의 크기를 지정해주면 됩니다. 또한, 스크립트의 실행 도중에 배열의 크기와 내용을 변경할 수 있는데 이 때는 ReDim문도 함께 사용하여 선언합니다. 이러한 경우 이전의 배열 내용을 보존하여 추가로 공간을 확장하고자 할 때는 Preserve 문을 이용합니다. 설명만 들자니 좀 밋밋하죠? 자, 그럼 배열 예제를 보면서 다시 한번 되집어보죠.






<% @LANGUAGE = VBScript %>
<%
Dim jewel()
ReDim jewel(3)

jewel(0) = "pearl"
jewel(1) = "crystal"
jewel(2) = "jade"
jewel(3) = "sapphire"
%>
<html>
<head><title>배열 이해하기</title>
</head>
<body>
** 배열 jewel(3)의 내용 ** <br>
<% =jewel(0) %>, <% =jewel(1) %>, <% =jewel(2) %>, <% =jewel(3) %>


<%
ReDim Preserve jewel(5)
jewel(4) = "emerald"
jewel(5) = "diamond"
%>
<br>
** 기존의 배열에 내용을 추가한 jewel(5)의 내용 ** <br>
<% =jewel(0) %>, <% =jewel(1) %>, <% =jewel(2) %>, <% =jewel(3) %> <br>
<% =jewel(4) %>, <% =jewel(5) %>
</body>
</html>







위 예제를 보면 Dim 문과 ReDim 문으로 배열 jewel을 선언하고 각각의 저장소에 값을 할당했습니다. jewel(3)이라고 선언했기 때문에 0부터 3까지 4개의 저장 공간이 할당되죠. 새로운 내용을 추가하고 싶을 때는 ReDim Preserve 문을 통해 기존의 배열 jewel에 두 개의 저장 공간이 추가되었습니다.


예제를 보니까 이해가 쉽지 않나요? 참고로 한가지만 더 얘기하자면 VB 스크립트에서는 가변형 변수를 지원하기 때문에 배열에 있어서도 가변 형태의 테이터 타입을 가진 배열을 이용할 수 있답니다. 예를 들어 다음과 같이 여러가지 데이터 타입을 혼용한 배열을 이용할 수 있습니다.







Dim varArray(3)


varArray(0) = "asp"
varArray(1) = 100
varArray(2) = True
varArray(3) = 123.456






지금까지 변수와 연산자, 그리고 배열에 관해 알아보았습니다. 그럼 요걸 바탕으로 해서 제어문에 들어가 보도록 하죠. 즐거운 하루 되세요!!!

2010/11/11 04:16 2010/11/11 04:16