English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
때때로 동일한 코드 블록을 여러 번 실행해야 할 수 있습니다. 일반적으로 문장은 순서대로 실행됩니다: 함수의 첫 번째 문장이 먼저 실행되고, 그 다음 두 번째 문장, 이렇게 계속됩니다.
프로그래밍 언어는 더 복잡한 실행 경로를 제공하는 여러 가지 제어 구조를 제공합니다.
루프 문장은 하나의 문장이나 문장 그룹을 여러 번 실행할 수 있도록 합니다. 대부분의 프로그래밍 언어에서 루프 문장의 흐름도图为 다음과 같습니다:
R 언어가 제공하는 루프 유형은 다음과 같습니다:
repeat 루프
while 루프
for 루프
R 언어가 제공하는 루프 제어 문장은 다음과 같습니다:
break 문장
Next 문장
루프 제어 문장은 코드의 실행 순서를 변경하고, 이를 통해 코드의 점프를 구현할 수 있습니다.
repeat 루프는 조건 문장이 false가 되기 전까지 반복적으로 코드를 실행합니다. 루프를 탈출하려면 break 문장을 사용합니다.
문법 형식은 다음과 같습니다:
repeat { // 관련 코드 if(condition) { break } }
다음 예제에서 변수 cnt는 5 조건이 false일 때 루프를 탈출합니다. cnt는 카운트 변수입니다:
v , cnt v cnt cnt cnt
위의 코드를 실행하면, 입력 결과는 다음과 같습니다:
[1] "Google" "w3codebox [1] "Google" "w3codebox [1] "Google" "w3codebox [1] "Google" "w3codebox
주어진 조건이 true일 때만, R 언어의 while 루프 문장은 목표 문장을 반복적으로 실행합니다.
문법 형식은 다음과 같습니다:
while(condition) { statement(s); }
여기서 statement(s)는 단일 문장이 될 수도 있고, 여러 문장으로 구성된 코드 블록이 될 수 있습니다.
condition은 어떤 표현식이든 될 수 있습니다. 어떤 비이론적인 값이면든 모두 true로 간주됩니다. 조건이 true일 때는 루프를 실행합니다. 조건이 false일 때는 루프를 탈출하고, 프로그램 흐름은 루프 이후의 다음 문장으로 이동합니다.
다음 예제에서 변수 cnt는 7 이 때 while 문 블록 내의 내용을 출력합니다, cnt는 카운트 변수입니다:
v , cnt cnt v cnt cnt
위의 코드를 실행하면, 입력 결과는 다음과 같습니다:
[1] "Google" "w3codebox [1] "Google" "w3codebox [1] "Google" "w3codebox [1] "Google" "w3codebox [1] "Google" "w3codebox
R 프로그래밍 언어에서 for 루프 문은 지정된 문장을 반복적으로 실행할 수 있으며, 반복 횟수는 for 문에서 제어할 수 있습니다.
문법 형식은 다음과 같습니다:
for (value in vector) { statements }
R 언어의 for 루프는 매우 유연하며, 정수 변수뿐만 아니라 문자 벡터, 논리 벡터, 목록 등 다양한 데이터 타입을 반복적으로 처리할 수 있습니다.
다음 예제 출력 26 개 문자와 앞 네 개 문자에 대해:
v i v i
위의 코드를 실행하면, 입력 결과는 다음과 같습니다:
[1] "A" [1] "B" [1] "C" [1] "D"
R 언어의 break 문은 루프 내에 삽입되어 현재 루프나 문장을 탈출하고 스크립트에서 다음 문장을 시작합니다.
루프 내포되어 있을 경우, break 문은 가장 안쪽 루프의 실행을 중단하고 외부 루프의 다음 문장을 시작합니다。
break는 switch 문에서도 자주 사용됩니다。
문법 형식은 다음과 같습니다:
break
다음 예제에서 변수 cnt는 5 이 때 break를 사용하여 루프를 벗어나 cnt는 카운트 변수입니다:
v <- c("Google","w3codebox) cnt <- 2 repeat { print(v) cnt <- cnt+1 if(cnt > 5) { break } }
위의 코드를 실행하면, 입력 결과는 다음과 같습니다:
[1] "Google" "w3codebox [1] "Google" "w3codebox [1] "Google" "w3codebox [1] "Google" "w3codebox
next 문은 현재 루프를 건너뛰고 다음 루프를 시작하는 데 사용됩니다(다른 언어의 continue와 유사합니다)。
문법 형식은 다음과 같습니다:
next
다음 예제 출력 26 개 문자 앞에 6 개 문자, 문자가 D일 때 현재 루프를 건너뛰고 다음 루프를 시작합니다:
v i v i i
위의 코드를 실행하면, 입력 결과는 다음과 같습니다:
[1] "A" [1] "B" [1] "C" [1] "E" [1] "F"