"Your organization doesn't allow you to download, print, or sync using this device. To use these actions, use a device that's joined to a domain or is marked compliant. For help, contact your IT department."
' Dictionary object 선언
Dim myDictionary
Set myDictionary = CreateObject("Scripting.Dictionary")
' key-value 등록법
myDictionary.Add "a", Array("1-2", "2-3", "3-4")
myDictionary.Add "b", Array("5-6", "6-7", "7-8")
myDictionary.Add "c", Array("9-10", "10-11", "11-12")
' value호출 방법
msgbox "Value associated with 'a':"
For Each item In myDictionary("a")
msgbox item
Next
msgbox "Value associated with 'b':"
For Each item In myDictionary("b")
msgbox item
Next
msgbox "Value associated with 'c':"
For Each item In myDictionary("c")
msgbox item
Next
그림으로 그려보자면 아래와 같다.
결과 확인
아래와 같은 msgbox가 순서대로 출력된다.
즉 Key값 먼저 출력되고 그 뒤에 value값이 따라서 출력된다.
이를 통해 VBScript에서 어떻게 Dictionary를 쓰고 Key값 호출, Value값 호출을 하는지 보고 수정해서 쓰면된다.
위 예문에서는 For Each문을 통해 한꺼번에 모두다 출력하도록 했지만, 만약 List 내부의 특정 값에 접근하고 싶다면 아래와 같이 접근한다.
' Create a new Dictionary object
Dim myDictionary
Set myDictionary = CreateObject("Scripting.Dictionary")
' Add key-value pairs to the dictionary
myDictionary.Add "a", Array("1-2", "2-3", "3-4")
' Access the first item in the array associated with "a" key
Dim firstItem
firstItem = myDictionary("a")(0)
' Display the first item using MsgBox
MsgBox "First item associated with 'a' key: " & firstItem
(결과)
* 만약에 생성한 "a" Dictionary에 있는 Array에 추가로 값을 더 넣고 싶다면 아래 샘플 코드...
->
이 코드에서는 existingArray 변수에 "a" 키에 연결된 배열을 가져와서, 새로운 값을 추가하려는 newArray와 결합하여 combinedArray에 저장합니다.
그런 다음 "a" 키에 새로운 combinedArray를 할당합니다. 이렇게 하면 오류 없이 값을 추가할 수 있습니다.
' Create a new Dictionary object
Dim myDictionary
Set myDictionary = CreateObject("Scripting.Dictionary")
' Add key-value pairs to the dictionary
myDictionary.Add "a", Array("1-2", "2-3", "3-4")
' Access the first item in the array associated with "a" key
Dim firstItem
firstItem = myDictionary("a")(0)
' Get the existing array associated with "a" key
existingArray = myDictionary("a")
' Create a new array with additional values
Dim newArray
newArray = Array("apple", "banana", "orange")
' Combine the existing and new arrays
ReDim combinedArray(UBound(existingArray) + UBound(newArray) + 1)
Dim i
For i = 0 To UBound(existingArray)
combinedArray(i) = existingArray(i)
Next
For i = UBound(existingArray) + 1 To UBound(existingArray) + UBound(newArray) + 1
combinedArray(i) = newArray(i - UBound(existingArray) - 1)
Next
' Update the "a" key in the dictionary with the combined array
myDictionary("a") = combinedArray
' Output verification
MsgBox "Values associated with 'a':"
For Each item In myDictionary("a")
MsgBox item
Next
이렇게 하면 coordinatesList 컬렉션에 각각의 좌표를 표현하는 배열이 추가됩니다.
각 배열은 2개의 요소를 가지며, 첫 번째 요소는 x 좌표이고 두 번째 요소는 y 좌표입니다. 이러한 구조를 활용하여 데이터를 저장하고 처리할 수 있습니다.
반응형
coordinatesList.Add가 파이썬의 append와 같은 기능을 한다.
coordinatesList.Add 메서드는 일종의 "추가" 작업을 수행하며, 리스트나 컬렉션에 새로운 항목을 마지막에 추가합니다. 이것은 많은 프로그래밍 언어에서의 "append" 작업과 유사한 역할을 합니다. 새로운 항목이 리스트의 끝에 추가되므로 리스트의 크기가 동적으로 증가할 수 있습니다.
따라서 coordinatesList.Add를 사용하여 컬렉션에 새 항목을 추가하는 것은 데이터를 리스트나 컬렉션에 덧붙이는 작업이라고 볼 수 있습니다.
Array()는 Dim선언이 필요하지 않다.
Array()는 VBScript 내장 함수로, 배열을 생성하고 초기화하는 데 사용됩니다.
이 함수를 사용할 때는 Dim 선언이 필요하지 않습니다.
Array() 함수를 사용하면 배열을 선언과 동시에 초기화할 수 있습니다.
예를 들어, 다음과 같이 Array() 함수를 사용하여 배열을 생성하고 초기화할 수 있습니다.