English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
時には、同じコードブロックを複数回実行する必要があることがあります。一般的には、文は順序に実行されます:関数の最初の文がまず実行され、次に2番目の文、その後さらに続きます。
プログラミング言語は、より複雑な実行経路を持つ多くの制御構造を提供します。
ループ文は、文や文のグループを複数回実行する許可を与え、以下はほとんどのプログラミング言語のループ文のフローチャートです:
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 文字が前の 4 文字に対して:
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"