$GO

$GO 명령어는 이름 그대로 어디론가 가라는 얘기다. Basic 프로그래밍을 배워본 사람이라면 GOTO 명령어에 익숙할 것이다.  $GO 뒤에 어디로 가야 하는지만 알려주면 된다. 목적지가 되는 이름은 사용자가 임의로 원하는 이름을 만들어 사용하면 된다. 단, System에서 사용하는 명령어를 이름으로 사용하면 안된다.

$GO jump 라고 하면, 이 명령어로 부터 jump 라는 단어가 다시 나올때까지 모든 명령어를 무시하라는 뜻이 된다. 프로그램을 작성하면서 여러 조건들 중 일부분을 실행시키고 싶지 않을때$GO jump  ~  jump 명령어를 사용하면 된다.

아래 예제는 PLANE_1을 그리고, $GO jump 해서 PLANE_2는 건너 뛰고 다시 jump 를 만나서 PLANE_3를 그리게 된다.

SYSTEM NEW
RESET

SURFACE
  PLANE Y
0 RECTANGLE 1 1
OBJECT ‘PLANE_1’
  REDEFINE COLOR 1

$GO jump          !! ‘jump’ 명령어를 만날때까지 이후의 명령어를 실행하지 않음.

SURFACE
  PLANE Y
1 RECTANGLE 1 1
OBJECT ‘PLANE_2’
  REDEFINE COLOR 2
jump                 !! ‘jump’ 명령어를 만나서다음 line부터 명령어를 실행함.

SURFACE
  PLANE Y
2 RECTANGLE 1 1
OBJECT ‘PLANE_3’
  REDEFINE COLOR 3

WINDOW Y Z
PLOT FACETS
$VIEW
RETURN

$GO 명령어를 적용해서 PLANE_2를 건너 뛰었기 때문에 PLANE_2의 붉은색 면은 보이지 않는다.

GO_No2
그림 8.1 $GO 명령어가 적용된 경우

여기서, $GO jumpjump 명령어를 삭제하거나 주석처리해보자. 그러면, PLANE_2의 붉은색 사각형이 보일 것이다. Object 뿐만 아니라, 여러줄의 명령어를 주석처리 해야할일이 생길때 $GO 명령어를 이용하면 간단히 여러줄을 주석처리하는 효과를 얻을 수 있게 된다.

GO_No3
그림 8.2 $GO 명령어가 적용되지 않은 경우

참고로, $GO 뒤에 붙는 jump 같은 이름을 Label 이라고 한다. 그런데, ASAP에서는 Label 이외에 Command Line의 줄 수로도 명령어를 무시하고 건너 뛸 수 있다. $GO +5 처럼 건너 뛸 줄 수를 입력하면 된다. +5$GO 바로 다음 줄 부터 빈줄을 포함해서 5줄이다.  (마이너스)를 사용하면 $GO 줄을 포함해서 숫자만큼 앞으로 이동한 후 그 줄부터 다시 시작된다. 위의 프로그램을 $GO -2로 변경하면 $GO가 한 줄, 바로 위의 빈칸이 한 줄로 인식되어서  $GO -2 명령어만 계속 반복되는(무한 루프에 빠지는) 것을 확인 할 수 있다. 이 프로그램은 Abort 버튼을 눌러 강제로 종료시켜야 한다.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: