NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 팁 앤 테크
  • 매뉴얼

    팁과 테크니컬 노하우를 확인하세요.

    팁 앤 테크

    팁과 테크니컬 노하우를 확인하세요.

    본 사이트의 컨텐츠는 저작권법의 보호를 받으므로 무단 복사, 게재, 배포 등을 금합니다.

    스크립트 중급부터 하니씩! - 액션 되돌아가기와 액션 복귀에 대해 알아보기. (GoSub)

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 일부 프로그래밍 언어와 오토핫키에는 Goto외에도 Gosub(고서브)가 있습니다. 엔지엠 에디터에서 보면 Goto는 [ 액션 이동 ]입이다. 이외에도 엔지엠에는 좀 더 사용하기 편하도록 멀티로 액션을 이동할 수 있는 [ 캐이스 액션 이동 ]도 존재합니다. 프로그래밍 언어에서 switch ~ case문인데요. 관심 있으신분들은 매뉴얼 > 학습 > C# 또는 Java에서 언어적인 특성을 확인할 수 있습니다. 우선, 첨부되어 있는 예제용 스크립트를 다운로드 후 에디터에서 열어보세요.

    PB4jSOH.png

     

     

    액션 이동(Goto)은 무한 반복에 주로 사용됩니다. 물론, 반복 사이에 조건으로 탈출(Break) 할 수도 있습니다. [ 액션 되돌아가기 ](Gosub)도 액션 이동과 유사하지만 액션 복귀를 만나면 액션 되돌아가기 바로 아래 액션으로 이동됩니다. 이는 한번만 동작하게 되는데요. 액션 복귀에서 무한 반복 옵션을 True로 변경하면 무한으로 반복하게 됩니다. 로직을 구성할 때 액션이 온 곳으로 다시 돌아가고 싶을 때 사용할 수 있습니다. 무한 반복 옵션을 False로 변경하고, 실행 해보세요. 아래는 실행 후 결과입니다.

    Welcome to NGM! 
    http://www.ngmsoftware.com
    GC 메모리 사용량: 8.85MB
    WS 메모리 사용량: 112.56MB
    PM 메모리 사용량: 69.43MB
    VM 메모리 사용량: 5,058.61MB
    [액션 반복 (GoSub).ngs] 스크립트가 시작되었습니다.
    [액션 되돌아가기] 액션이 시작되었습니다.
    반복한 횟수: 1
    아이디: 시작, [그룹(시작)] 액션이 시작되었습니다.
    아이디: 4, [그룹(4)] 액션이 시작되었습니다.
    [액션 복귀] 액션이 시작되었습니다.
    아이디: 1, [그룹(1)] 액션이 시작되었습니다.
    아이디: 2, [그룹(2)] 액션이 시작되었습니다.
    아이디: 3, [그룹(3)] 액션이 시작되었습니다.
    아이디: 시작, [그룹(시작)] 액션이 시작되었습니다.
    아이디: 4, [그룹(4)] 액션이 시작되었습니다.
    [액션 복귀] 액션이 시작되었습니다.
    [액션 반복 (GoSub).ngs] 스크립트가 완료되었습니다.
    

     

    액션 되돌아가기가 그룹 (시작)으로 보냅니다. 그리고 순차적으로 실행되다가 액션 복구를 만나면 액션 되돌아가기 아래부터 다시 시작됩니다. 마지막에 액션 복귀를 만나지만 다시 액션 되돌아가기로 복귀하지 않습니다. 무한 반복 옵션이 False로 설정되어 있기 때문입니다. 간단한 예제라서 분석하는데 큰 문제는 없습니다. 하지만~ 스크립트가 복잡해질수록 액션 이동이나 액션 되돌아가기는 사용하지 않는게 좋습니다. 제작을 한번이라도 해보신분들은 알겠지만 로직을 따라가기가 정말 어려워집니다. 이런 루틴을 이동하는것들은 가급적이면 한두개정도만 사용하시길 권장합니다. 스크립트 안에서 여러가지 루틴을 건너뛰면서 처리하면 나중에 유지보수도 어려워지고, 어디가 문제인지 찾기가 정말 어렵습니다. 그래서~ 엔지엠은 [ 서브 스크립트 ]라는 개념을 사용합니다. 로직을 분리해서 좀 더 관리하기 쉽게 만들어주고, 로직을 매인과 독립적으로 동작하게 해줍니다. 서브 스크립트를 사용하면 관리가 용이하고 조건에 따라 루틴을 이동할 수 있습니다. 서브 스크립트는 나중에 좀 더 자세하게 알아볼께요^^;

     

    이런 기능을 제공하지만~ 가급적이면 조건의 같음(True, 참)과 다름(False, 거짓)으로만 구성하는게 간결하고 좋습니다. 어쩔 수 없는 경우에는 액션 이동을 사용해야 하겠지만~ 스크립트 안에서 최소한으로 사용하세요. 궁금한 내용이 있으면~ 아래 댓글로 남겨주세요.

     

    개발자에게 후원하기

    MGtdv7r.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천5 비추천0

    첨부파일

    댓글목록

    등록된 댓글이 없습니다.