티스토리 뷰

반응형

오토핫키에서 배열을 만들어서 저장할 것인데. '011' 모델이란 자료에 홀의 위치가 x1 : 100, Y1:200..... 이런식으로 10개의 홀이 있다면 이것을 홀 위치를 저장해서 화면에 보여주고 싶은데, 이렇게 모델, 좌표를 배열에 담아서 언제든 불러오고 싶다. 2차원 배열을 이용해야 하는것인가? 실제 사용예를 알아보자.

오토핫키(AutoHotkey)에서 배열을 사용하는 것은 꽤 간단합니다. 여기서는 연관 배열(associative array)를 사용하여 각 모델의 홀 위치를 저장할 수 있습니다.
2차원 배열 또는 연관 배열을 사용하여 지정된 모델에 대한 홀의 위치를 저장하고 검색할 수 있습니다. 예를 들어 '011' 모델의 경우 다음과 같이 데이터를 저장할 수 있습니다:
; 2차원 배열 예제
holes := {} ; 초기 배열 생성
holes["011"] := [ { "x": 100, "y": 200 }, { "x": 105, "y": 205 }, ... ] ; 10개의 좌표 저장

; 데이터에 액세스하려면:
model := "011"
for index, hole in holes[model]
{
    MsgBox, Model: %model% - Hole %index%: X=%hole.x% Y=%hole.y%
}

; 연관 배열 예제
holesAssoc := {} ; 초기 배열 생성
holesAssoc["011"] := { "hole1": { "x": 100, "y": 200 }, "hole2": { "x": 105, "y": 205 }, ... }

; 데이터에 액세스하려면:
for holeName, hole in holesAssoc["011"]
{
    MsgBox, %holeName%: X=%hole.x% Y=%hole.y%
}
2차원 배열 예제에서는 "011"이라는 키를 사용하여 해당 모델의 모든 홀 위치 목록에 액세스합니다.

각 위치는 x 및 y 속성을 가진 객체로 저장됩니다.

연관 배열 예제에서는 모델 내의 각 홀에 대해 고유한 이름(예: "hole1", "hole2")을 지정합니다.
이 방법을 사용하면 특정 홀에 더 쉽게 액세스할 수 있습니다.

두 예제 모두 특정 모델의 홀 위치를 저장하고 검색하는 방법을 보여줍니다.

필요에 따라 이러한 배열 구조를 사용하여 다른 모델의 홀 위치도 저장할 수 있습니다.

 

우리가 데이터를 '011'모델이란 것의 자료를 넣고, 그 해당좌표를 읽어오고 싶다면..

물론 좌표는 기준이 필요할 것이다.

우리가 만들 자료에 이렇게 넣으면 되니까 얼마나 편리한다.

; 실제 활용예를 꼭 기억하자.


holesAssoc := {} ; 초기 배열 생성
holesAssoc["011"] := { "hole1": { "x": 100, "y": 200 }, "hole2": { "x": 105, "y": 205 }, ... }

; 데이터에 액세스하려면:
for holeName, hole in holesAssoc["011"]
{
    MsgBox, %holeName%: X=%hole.x% Y=%hole.y%
}

 `for holeName, hole in holesAssoc["011"]` 구문에서 `holeName`은 각 연관 배열의 키에 할당되며,
`hole`은 해당 키의 값에 할당됩니다.
즉, 반복문이 처음 실행될 때: - `holeName`에는 "hole1"이 할당되고,
- `hole`에는 `{ "x": 100, "y": 200 }`가 할당됩니다.
반복문이 다음으로 실행될 때: - `holeName`에는 "hole2"가 할당되고,
- `hole`에는 `{ "x": 105, "y": 205 }`가 할당됩니다.

이런 식으로 `holesAssoc["011"]`에 있는 모든 키-값 쌍을 순회합니다.

 

이걸 참고하면 많은 프로그램을 완성할 수 있겠습니다.^^

 

반응형
댓글