close_btn
로그인, 회원가입후 더 많은 혜택을 누리세요 로그인 회원가입 닫기

[CR] 주작 // [초급] goto문 강의

2016.07.28 15:32

행복e 조회 수:90

이 시간에는 goto문에 대해서 알아보도록 할 것입니다.
 
대부분의 프로그래밍에서는 goto문의 사용을 권장하고 있지는 않습니다.
 
제가 얕은 지식으로 알기로는 구조적으로 코딩하는 것에 장애물이 된다느니... 뭐 스파게티 코드라느니...
 
이런 말들이 있는데 그래도 알아 두시면 좋고, 엔피시 부분에서는 자주 사용되므로
 
이에 대해서 설명을 드리도록 하겠습니다.
 
 
 
1. goto문의 개념
 
먼저 goto문은 그대로 go to를 붙인 형태로 '이동' 의 개념이 강합니다.
 
주구장창 설명하는 것보다 예시를 보고 이해하는 것이 쉬울 거 같네요.
 
EX)
goto A;
("1"이라는 메시지를 띄운다)
A:
("2"라는 메시지를 띄운다)
 
 
위의 예제를 순서대로 읽어 내려오도록 해보죠.
첫번째 줄의 goto A; 는 'goto문을 사용해서 A라는 곳으로 이동하라' 라는 의미를 담고 있습니다.
그렇다면 두번째 줄을 거치지 않고 바로 A: 라고 써져 있는 세번째 줄로 이동한다는 뜻입니다.
그리고 마지막 줄인 "2"라는 메시지를 띄우고 스크립트는 종료되겠죠.
 
결론적으로 "1"이라는 메시지는 뜨지 않고 "2"라는 메시지만 뜨게 됩니다.
 
대충 goto문이 무슨 역할인지 이해가 가셨으면 좋겠네요.
 
주의할 점은 goto문 다음에 오는 이름(label, 위의 예제에서 A)은 꼭 아래에서
A: 식으로 언급이 되어야 하며, 이름(label)은 절대로 겹쳐서는 안된다는 점입니다.
 
위를 어기면 서버 내에서 오류가 나므로 꼭 주의하셔야 됩니다.
 
 
2. goto문의 응용
 
그렇다면 이러한 goto문은 어느 부분에 응용될 수 있을까요?
 
개인이 사용하기에 따라 다양한 부분에 응용될 수 있겠지만, 제가 생각했을 때 유용하다 싶은 부분을 알려드리겠습니다.
 
먼저, 반복문의 탈출에 사용될 수 있습니다.
 
따로 반복문에 대한 강의를 한 적은 없지만, 다른 분들이 쓰신 반복문의 강의를 보시면
 
반복문이 대충 어떻게 동작하는지, 어떠한 형태로 사용되는지 알고 계실 것입니다.
 
(추후에 반복문에 대한 강의가 올라오면 이를 참고해서 보시는 것을 추천드립니다.)
 
이 반복문 내부에서 해당 조건을 만족하는 경우 goto문으로 반복문 밖으로 이동시킨다면
 
반복문은 더 이상 실행되지 않고 스크립트는 goto문 다음 라인을 읽게 됩니다.
 
뭐 너무 다양한 분야에 응용될 수 있는 함수인지라 대표적인 예를 더 들 수가 없네요

 

번호 제목 글쓴이 날짜 조회 수
42 [CR] [스크립트] '스크립트'의 가장 기초적인 설명 로이로이로이로이 2016.10.25 260
41 [CR] were92 // CR을 업그레이드 하는방법 file 행복e 2016.08.01 267
40 [CR] 애매한 함수들의 13가지 비밀 [1] 행복e 2016.08.01 406
39 [CR] 마법 중복사용 제한 행복e 2016.07.28 183
38 [CR] zz // OnPCKill 그룹 관련 행복e 2016.07.28 121
» [CR] 주작 // [초급] goto문 강의 행복e 2016.07.28 90
36 [CR] 몬스터 추가( mob_db.txt )강의 행복e 2016.07.28 170
35 [CR] (입문) 제4장 * 스크립트 문법의 정의 행복e 2016.07.27 113
34 [CR] (입문) 제2장 * CR 스크립트의 종류를 알고 넘어가자! 행복e 2016.07.27 244
33 [CR] (입문) 제1장 * 우리가 알고 있는 스크립트란? 행복e 2016.07.27 137
32 [CR] (입문) 제3장 * 스크립트의 문법 및 정리법 행복e 2016.07.27 169
31 [CR] 아이템 추가( item_db.txt ) 강의보기 행복e 2016.07.27 348
30 [CR] 아이템 조합( itemmix_db.txt ) 강의보기 행복e 2016.07.27 128
29 [CR] cr에서 숫자값을 저장할 수 있는 함수 행복e 2016.07.27 67
28 [CR] 해컴 // @value 와 .@value의 차이 안전한 함수 만들기에 대해. 행복e 2016.07.27 71
27 [CR] hollyengel // 임팩트 있는 이펙트 만들기! 행복e 2016.07.27 130
26 [CR] zz // get_mobstate 함수 행복e 2016.07.27 85
25 [CR] switch 문 이해하기 [1] file 행복e 2016.07.27 74
24 [CR] zz // OnPCKill 그룹 관련 행복e 2016.07.27 91
23 [CR] 몬스터 부활( mob_revival.txt )에 대한 강의 행복e 2016.07.27 84
22 [CR] 은신 계정변수 초기화 관련 행복e 2016.07.27 95
21 [CR] CR 무장 팁 행복e 2016.07.27 200
20 [CR] 맵 연결/포트연결( warp_db.txt ) 강의 보기 [1] 행복e 2016.07.27 209
19 [CR] 반복문( For문 )에 대한 지식익히기 [2] 행복e 2016.07.27 115
18 [CR] 간단한 3가지의 변수 임시,계정,서버변수에 대한 정보. 행복e 2016.07.27 202
17 [CR] 게임 운영자 명령어( 비밀명령어 포함* ) 강의 행복e 2016.07.27 917
16 몬스터 추가( mob_db.txt )강의 Joy 2016.04.23 253
15 몬스터 부활( mob_revival.txt )에 대한 강의 Joy 2016.04.23 112
14 가장 기본적인 함수 '메뉴창 list'에 대한 정보 [1] Joy 2016.04.23 132
13 마법 추가( magic_db.txt ) 강의 Joy 2016.04.23 441
12 아이템 조합( itemmix_db.txt ) 강의 Joy 2016.04.23 162
11 아이템 추가( item_db.txt ) 강의 [1] Joy 2016.04.23 482
10 복사방지에 대한 스크립트 이해 가을이야기 2016.03.30 379
9 도약몬스터 가을이야기 2016.03.30 157
8 CR 기본 구축방법 (링크) [1] 가을이야기 2016.03.30 923
7 CR 숫자값을 저장할 수 있는 함수 가을이야기 2016.03.30 107
6 delitem 함수 가을이야기 2016.03.30 121
5 get_mobstate 함수 가을이야기 2016.03.30 183
4 Chapter. 1-2 통합파일의 구조체 [1] 가을이야기 2016.03.30 447
3 Chapter. 1-1 CR이라는 구동기에 대한 이해 가을이야기 2016.03.30 541
2 [CR]프바 GM 설정하는방법 시크릿 2016.02.21 1424
1 프바CR구축법[링기반] [4] 시크릿 2016.02.21 3788