Goto 문: 두 판 사이의 차이

내용 삭제됨 내용 추가됨
Addbot (토론 | 기여)
잔글 봇: 인터위키 링크 20 개가 위키데이터d:q750997 항목으로 옮겨짐
12번째 줄:
 
== 변형 ==
''* 계산된 goto 문''은(Computed GOTO): 수식의 값에 따라 몇 군데의 레이블로 분기하거나, 변수에 저장되어 있는 레이블로 분기한다. 계산된 goto 문은 보통 goto 문보다 문제가 더 심각한데, 프로그래머가 어떤 구문을 본다고 해도 다음에 무엇이 수행될지 알 수 없기 때문이다.
** [[베이직]]의 ON goto 문은 전자의 계산된 goto 문을 지원하며, 각각의 사례별로 분기에 유용하다.
** [[C (프로그래밍 언어)|C]]에서는 [[Switch 문]]을 지원한다. 어떤 C 컴파일러들은 레이블 변수에 따라 분기하는 goto 문을 제공하기도 한다.
 
* [[이어하기컨티뉴에이션]]({{lang|en|continuation}}): 프로그램의 임의의 위치에서 기억했던 위치로 분기하는 점에서 계산된 goto 문과 비슷하다. 그러나 이어하기는 현재 함수를 벗어날 수 있지만 goto 문은 그렇지 않기 때문에 이어하기가 더 유연하다. 이어하기를 실행하면 보통 분기하는 것뿐만 아니라 보통 프로그램의 [[호출 스택]]을 조절하는 것까지 한다.
 
* 베이직 언어를 [[패러디]]한 [[인터칼 프로그래밍 언어|인터칼]]과 같은 언어에서는 [[COME FROM 문]]을 goto 문 대신에 쓰기도 한다.
 
* [[펄]]과 같은 언어에서는 @_variable에 있는 현재 인자를 사용하여 서브루틴을 호출하는 방법으로 goto 문을 사용한다.
 
== 읽을거리 ==