매크로

정보
2015.04.17 15:47

Array 확장

조회 수 792 추천 3 댓글 13

오토핫키의 별볼일 없는 Array를 진짜 Array처럼 확장시켜주는 소스입니다


Concat(array2,array3,...,arrayX) ? ? ? ? ?- join two or more arrays

IndexOf(Item, Start := "") ? ? ? ? ? ? ? ?- searches the array for item, front to back

Join(Sep := ",") ? ? ? ? ? ? ? ? ? ? ? ? ?- joins the elements of an array into a string

LastIndexOf(Item, Start := "") ? ? ? ? ? ?- searches the array for item, back to front

Length() ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?- returns the number of elements

Pop() ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? - returns and removes last element of array

Push(item1, item2, ..., itemX) ? ? ? ? ? ?- adds new items to the end of the array

Reverse() ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? - reverses the order of the elements

Shift() ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? - returns and removes first element of array

Slice(Start, End := "") ? ? ? ? ? ? ? ? ? - returns the selected elements as a new array

Sort(Options := "") ? ? ? ? ? ? ? ? ? ? ? - sorts the items of the array

Splice(Start, HowMany, item1, ..., itemX) - adds/removes items to/from the array

Unshift(item1,item2, ..., itemX) ? ? ? ? ?- adds new items to the beginning of the array

위 명령을 추가로 사용 할 수 있습니다.


소스는 아래 링크에서 체크하시고..

아래에 예제만 붙여넣기 합니다.


출처 & 소스 :?http://www.autohotkey.com/board/topic/94602-additional-methods-for-indexed-arrays/


; Autoexecute
#NoEnv
#SingleInstance force

#Include Array Extensions.ahk

none := []
hege := ["Cecilie", "Lone"]
stale := ["Emil", "Tobias", "Linus"]
kai := ["Robin", "Tobias", "Walter"]
Num := [5,3,7,9,1,13,999,-4]

children := hege.Concat(stale, kai)
MsgBox, 0, Concat Arrays Building Children, % "Children =`n" children.Join("`n")

MsgBox, 0, IndexOf Tobias, % children.IndexOf("Tobias")

MsgBox, 0, IndexOf Tobias with Start = 5, % children.IndexOf("Tobias", 5)

MsgBox, 0, LastIndexOf Tobias, % children.LastIndexOf("Tobias")

MsgBox, 0, LastIndexOf Tobias with Start = 5, % children.LastIndexOf("Tobias", 5)

MsgBox, 0, LastIndexOf Tobias with Start = 5, % children.LastIndexOf("Tobias", 5)

MsgBox, 0, Length of Children, % children.Length()

MsgBox, 0, Pop an Element, % children.Pop()

MsgBox, 0, Array After Pop, % children.Join("`n")

MsgBox, 0, Push Micheal, % children.Push("Micheal").Join("`n")

MsgBox, 0, Shift an Element, % children.Shift()

MsgBox, 0, Array After Shift, % children.Join("`n")

MsgBox, 0, Unshift George, % children.Unshift("George").Join("`n")

MsgBox, 0, Slice Out Indexes 2 - 4, % children.Slice(2, 4).Join("`n")

MsgBox, 0, Splice - 2 Elements Removed at Index 3
, % children.Splice(3, 2, "Sally", "Amy").Join("`n")

MsgBox, 0, Splice - Sally`, Amy Added at Index 3
, % children.Join("`n")

MsgBox, 0, Sort Children, % children.Sort().Join("`n")

MsgBox, 0, Numerical Sort, % Num.Sort("N").Join("`n")

MsgBox, 0, Reverse Children, % children.Reverse().Join("`n")

return





  • profile
    성운이 2015.04.17 16:02
    배열을 쉽게 쓸 수 있겠네요!
    처음에 오토핫키에서 배열을 제대로 지원 안하는걸 보고 너무 실망했어요.. 배열도 지원 안하는 언어라니..!
  • 매크로맨서 2015.04.17 16:04

    splice만 짤라서 쓰고있는데 이거만으로도 참 편해집니다

    좋은 정보 올려주셨네요

  • 매크로맨서 2015.04.17 16:08

    아 남이 짤라논걸 쓰고있었는데

    ㅋㅋ 원래 여기에서 따왔나봐요

  • 모바게 2015.04.17 16:13
    다 돌고 도는거죠 ㅋㅋ
  • 제발등업좀2 2015.07.16 14:54
    모바게님 질문 드립니다.. 제가 평소 쓰던 배열방식이..

    배열:=[]
    배열:=[1,2,3,4,5,]
    배열불러오기 :=배열 [num]
    이런식으로 배열을 나열하고 불러왓는데.. 이건 어떤식으로.. 불러와야 하는지 잘모르겠네요..
  • 모바게 2015.07.16 14:58
    링크된곳에서 소스 받아서 따로 저장후, include 해주고.. 배열은 똑같이 사용하면 됩니다.
    기본배열보다 명령어가 많아지는거에요.
    아래쪽 예제처럼 배열.Push(item) 이런식으로 사용이 가능하고요.
    한번씩만 실행해보면 이해될거에요^^
  • 제발등업좀2 2015.07.16 15:05
    외부 AHK 를 불러다 쓰는건가요?
    그렇군요 감사합니다 ^_^ 한번씩 사용해봐야겠네요;; 제가 말그대로 일자무식(컴언어) 하여 ㅠㅠ
    테일스타에서 만 배우다보니 견문 과 .. 지식이 많이 짧습니다 . 정말 한줄한줄 도움말씀 너무나 감사합니다 ^^

    P.S Push(item1, item2, ..., itemX) ? ? ? ? ? ?- adds new items to the end of the array
    요부분 원래 ???? 로 나오는지요 ;;얼마전부터 테일 스타 에서 글보면 ??? 로 깨지기에 여쭈어봅니다
  • 모바게 2015.07.16 15:48
    tab을 space로 변환해서 올린건데 ??로 나오네요 ㅋㅋ
    테일스타에서 db 이전이나, 사이트 설정이 좀 변했을 수 있어요.. 그냥 ?? 는 무시하세요
  • 제발등업좀2 2015.07.16 15:50
    아그래소..얼마전부터 저렇게 나오는군요.. ㄱㅅ 합니다.. 영어 가부족하여..열심히.. 번역기 돌리네요..ㅜ.ㅜ 공부좀할껄 후회됩니다.
  • 제발등업좀2 2015.07.16 17:13
    몇개는 이해가안가네요 ㅠ.ㅠ ㅋ; 신기한게 정말 많네요 ;; 잘쓰겠습니다 ^_^
  • 제발등업좀2 2015.07.16 17:42

    모바게님 죄송합니다 질문하나만 드리겠습니다..
    이것저것 실험하다가 궁금증이 발동하여 질문드립겠습니다.
    가 := none.IndexOf(19,Start := "2")요부분에서 2 는 무슨 의미인가요??
    ㅜ.ㅜ 혹시 알려주실수있으신지요
    아래는 제가 실험하던 간단한 스크립트입니다.
    가 뒤에 2 를 아무렇게나해도 잘찾더라구요;;그뒤에 2 가 뭔지 감을 잡지 못하여 이렇게 질문드립니다

    포럼 번역기 돌려보니 시작위치 어디에서 검색을 시작합니다 라고 번역이 나오는데

    이게 무슨말인지..

    f1::

    시작 := [1,2,3,4,5,6,7,8,9,10,"가","나"]
    종료 := ["나","가",15,16,17,18,19,20,"다"]

    none := 시작.Concat(종료)

    가 := none.IndexOf(19,Start := "2")
    if (ErrorLevel = 1)
     {
      MsgBox,못찾음
     }
    else if (ErrorLevel =0)
     {
      MsgBox,찾음 %가%
     }

    return

  • 모바게 2015.07.16 19:01
    찾는 시작위치를 지정하는겁니다
    적어주신부분에서 none => [1,2,3,4,5,6,7,8,9,10,"가","나","나","가",15,16,17,18,19,20,"다"]
    "가"의 위치는 11번째, 14번째.. 두군데 있네요.

    none.IndexOf("가", 10) => 찾음 11
    none.IndexOf("가", 12) => 찾음 14
    none.IndexOf("가", 15) => 못찾음
  • 제발등업좀2 2015.07.16 19:23
    아.. 중복되는거 찾을때.. 이런게 하는거군요.. 어쩐지.. 같은 값 가지고.. ㅡㅡ 시작위치를 하니 매번똑같더라...ㅜ.ㅜ 이해가 안되는데. 정말감사합니다. 매번 감사합니다

List of Articles
분류 제목 글쓴이 최근변경 추천
질문 연타 매크로 사용중인데 Alt + 영문 조합이 안먹는 이... 순천오토 2023.12.17 0/0
질문 오토핫키로 라벨 프린터 인쇄 가능할까요? 바이라민 2023.12.10 0/0
자유 리스트박스 시간기록 함카리스마 2023.11.05 0/0
질문 D2R 게임비활성 클릭 질문드려봅니다. 5 가족오락관 2023.11.07 0/0
질문 오토핫키v2 사용하시는 분 계신가요? thankkh 2023.10.19 0/0
자유 Nox에서 특정 비활성 메세지가 안먹네요 thankkh 2023.10.18 0/0
질문 오토핫키라는게 뭔가요?? 4 가면안되나요 2024.02.07 0/0
질문 gui창이 다른창을 눌러도 작업표시줄 안나타나게 할수... 초핫 2023.09.22 0/0
질문 오토핫키 매크로만드는법 강의자료 추천좀요 1 mnbmnb 2023.08.24 1/0
질문 메이플 거탐 까만부엉이 2023.08.13 0/0
질문 하드웨어 키입력 매크로사용할때 문제 2 응애제니 2023.10.18 0/0
자유 API 슬쩍 신공으로 디스코드를 드라이브처럼 써버리기 1 아스팔트맨 2023.10.22 0/0
질문 도저히 해결이안되서 질문드려요 2 어피치 2023.12.14 0/0
자유 오랜만에 오는데 자료가 많이 사라졌네요. 4 무쌍류 2023.10.18 0/0
질문 아스팔트맨 형님의 고견을 듣고싶습니다.. 2 바벌퀴레 2023.07.25 0/0
질문 이미지서치 예시 4 초보다초보 2023.11.04 0/0
자유 PostMessage 비활성 키입력 wparam, lparam 없이 하는 ... 아스팔트맨 2023.07.14 1/0
자유 심심해서 만든 업&다운 숫자게임 아스팔트맨 2023.07.14 0/0
질문 구 리니지 2.0 매크로 유료 제작가능 문의 태대호 2023.06.05 0/0
질문 배열 질문드립니다 3 광대승천 2023.05.26 0/0
Board Pagination Prev 1 2345678910 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글