매크로

정보
2015.04.17 15:47

Array 확장

조회 수 751 추천 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
분류 제목 글쓴이 최근변경 추천
자유 블루스택과 녹스에서 히트 돌릴때 색상차이 8 와이로 2017.11.09 4/0
정보 간단한 방법으로 길오아 오토핫키를 만들어보세요^^ 21 럭셔리형아 2018.02.07 4/0
정보 MS오피스 스타일 GUI 프로토타입 6 예지력1 2016.04.16 4/0
질문 오토핫키 에디터 제작. 9 프리헌터스 2015.09.11 4/0
정보 테일스타 내 포인트 조회기 16 와이로 2017.07.04 4/0
정보 팝업 알림, CleanNotify 3 예지력1 2015.11.11 4/0
정보 브레이브 헌터 ... 매크로.. 1 제발등업좀2 2015.07.10 4/0
자유 비활성이미지서치 중간정리(disp,adb) 11 우후훅 2017.04.03 4/0
정보 블루스택 해상도 변경하기... 10 로뎀나무 2015.04.15 4/0
자유 [AutoPM Ver 1.58] 포켓메이플스토리 매크로 8 은다 2015.04.25 4/0
정보 초보가 초보에게;; 핫키 사용법 8 악동주성 2016.09.03 4/0
질문 매크로좀 오랜만에 다시보고자 접속을... 7 joeypre 2021.09.27 3/0
자유 오랜만에 글남깁니다 ㅋ. 매우많이.. 늦었지만 복들 ... 3 제발등업좀2 2016.01.10 3/0
정보 앱아이콘 터치없이 adb로 앱 실행 시키는 방법 18 와이로 2021.01.23 3/0
정보 오토핫키를 간단히 쓰고싶지만 너무 어렵다고 느낄때 9 HyunsD 2018.02.07 3/0
정보 제가 쓰는 픽셀피커입니다(스크립트) 6 와이로 2017.02.11 3/0
정보 지니모션 디바이스(타이틀) 검색 ddl 소스 9 핸콕 2015.10.11 3/0
질문 텍스트를 가져오고 싶습니다. 6 _Crash 2022.12.14 3/0
정보 INI 를 쉽게 사용해봅시다. 11 모바게 2017.11.01 3/0
정보 DynaScript - Child 프로세스로 코드 실행 13 예지력1 2019.07.16 3/0
Board Pagination Prev 1 2345678910 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글