매크로

정보
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
분류 제목 글쓴이 최근변경 추천
질문 (해결)블루스택 메인화면거치지않고 바로 앱 실행 3 사랑사랑 2015.07.28 0/0
질문 (허접질문)adb 리니지M 매크로 제작되나요? 2 테일하는병키 2017.09.18 0/0
질문 +Backgroundtrans의 뜻을 한글로 설명해주세요 2 GOLD 2015.03.11 0/0
질문 /IM HD-Service /T /F 이거 경로가 어떻게 되는건가요???? 2 welchs 2016.07.06 0/0
질문 1004매크로 1 dlalsrb86 2014.12.04 0/0
질문 1004매크로 다운받는곳좀 ,, 6 앙탈소녀 2014.10.14 0/0
질문 1번째 이미지 인식후 2번째 인식 좌표 질문있습니다. 3 팀팀이 2015.12.19 0/0
질문 1을 001로, 62를 062로 표현하는 식이 없을까요? 3 북붕 2016.05.09 0/0
질문 1인칭 게임의 마우스이동은 어떻게 해야할까요 4 디니치니 2016.08.10 0/0
질문 2개의 구이창에서 2번 구이창 리스트뷰에 메세지가 나... 아처 2016.01.11 0/0
질문 2개의 화면을 동시에 진행하고싶습니다. 3 미리리리리 2019.04.13 0/0
질문 2계정 돌리는거...고수님들 부탁드립니다...제발 2 영웅소천 2017.09.29 0/0
질문 2일된 오토핫키 초보 질문입니다 1 배워요 2016.10.28 0/0
질문 30초동안만 loop를 작동시킬순 없나요? 2 도움늅6 2019.02.27 0/0
질문 64bit 작동이 중지되었습니다 오류에 관한 gosub 함수 ... 3 다드려 2015.10.12 0/0
질문 7.1버젼깔고 실행햇는데.. 4 dowkek 2015.04.06 0/0
질문 @핸콕 님~ 9 헐키 2015.06.25 0/0
질문 ABB 가 뭔지 설명해 주실분? 1 신령공주 2015.11.23 0/0
질문 ADB (몽키) 클릭 및 드래그관련 ... 5 제발등업좀2 2016.07.02 0/0
질문 adb dd 명령어 및 RAW파일 생성 질문있습니다. 6 허럴럴렁 2015.12.18 0/0
Board Pagination Prev 1 2345678910 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글