매크로

정보
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
분류 제목 글쓴이 최근변경 추천
질문 오토핫키 명령어 질문 6 papepo 2015.04.21 0/0
질문 gui창 2개 중 1번 gui창에서 확인하면 닫아지면서 2번 ... 7 Rabbit 2015.04.21 0/0
질문 Shell.Explorer 새로고침? 13 _Crash 2015.04.21 0/0
질문 구이 스크립트 잘못된 부분 질문드립니다 3 푸른호수 2015.04.21 0/0
질문 구이실행시 정지 질문드립니다. 3 푸른호수 2015.04.20 0/0
질문 오토핫키 질문입니다. 3 anahen 2015.04.20 0/0
질문 gdip에 대해 궁금한데요. 13 우후훅 2015.04.27 0/0
질문 reload 관련 자료 찾아보아도 나오지 않아 질문드립니다. 13 프로도신 2015.04.20 0/0
질문 세나 매크로 만드는중인데요 6 똬똬 2015.05.09 1/0
질문 Ctrl + Click or Ctrl + wheel 가르쳐 주세요. 7 theruin 2015.04.20 0/0
질문 구현가능한지 질문드려요. 15 흑콘 2015.04.20 0/0
자유 시간지정해서 그시간이 되면 매크로가 동작되게 하고 ... 11 지니블렉션 2015.04.20 0/0
질문 FTP 실시간 파일다운로드 질문 5 _Crash 2015.04.20 1/0
정보 Array 확장 13 모바게 2015.07.16 3/0
질문 모바게님 비활성 이미지클릭 간소화 함수 질문요 6 두더지 2015.04.17 0/0
질문 변수 질문 5 암드래 2015.07.16 0/0
자유 근데 OCR로 이미지 판단이 가능할까요? 2 우후훅 2015.04.17 0/0
질문 블택윈도우화면 위로 Gui 텍스트 글자 보이게 하기 3 제주소나이 2015.04.22 0/0
질문 기본 연산자 기호관련해서 질문드려요 15 우후훅 2015.04.17 0/0
질문 지니 비활성화 질문 10 백곰e 2015.04.16 0/0
Board Pagination Prev 1 ... 171172173174175176177178179 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글