for文(繰り返し) 2015/04/05
ループカウンタを使って、特定の条件を満たしている間、または特定の回数同じ処理を繰り返す構文の、プログラミング言語別メモ。
while
文でもループできる言語が多い。
配列やリストの要素に対して繰り返し処理をさせる方法は foreachも参照。
C言語 / C++ 2013/06/21
for(int i = 0; i < 10; i++){
...;
}
以下の2つは同じ意味になる。
for(式1; 式2; 式3){
...;
}
または
式1;
while(式2){
...;
式3;
}
Go言語 (golang) 2015/09/26
for i := 0; i < 10; i++ {
...;
}
For statements | The Go Programming Language Specification
http://golang-jp.org/ref/spec#For_statements
Java 2014/07/18
C言語ライクのfor
文を使える。
for (int i = 0; i < 10; i++){
...;
}
for
の括弧の中の2つ目の部分の条件式はC言語などと違ってboolean
型以外の式を置くことはできない。
Scala 2015/04/05
for (i <- 0 until 10) {
...;
}
またはforeach
メソッドを使って
(0 until 10).foreach { i =>
...;
}
Scalaのfor式はforeach
メソッド呼び出しのシンタックスシュガーであって、
1つ目の例はコンパイラによって2つ目の例に変換される。
foreach
という名前のメソッドがあれば for
の <-
の右側に書くことができる。
0 until 10
というのは scala.collection.immutable.Range
というクラスのインスタンスを生成し、これには foreach
というメソッドがあるので、こういう書き方ができる。(-> to
/until
メソッド)
for式で多重ループを書くこともできる。
// 二重ループ
for (i <- 0 until 10; j <- 0 until 10) {
...;
}
PHP 2014/04/27
C言語ライクのfor文を使える。
for ($i = 0; $i < 10; $i++){
...;
}
コロンを使った以下の記法も可能。
for ($i = 0; $i < 10; $i++):
...;
endfor;
配列に対して繰り返し処理をするにはforeach
文を使う。
for
文 | PHP Manual
http://www.php.net/manual/ja/control-structures.for.php
Smarty 2014/02/25
0から9までのループの例
{for $i = 0 to 9}
...;
{/for}
Python 2014/03/26
0から9までを繰り返す例
for i in range(10):
...
range
は0から始まる指定の長さのシーケンスを返す。
for
文参照。
Ruby 2013/12/08
0
から n-1
までを繰り返すには
n.times do |i|
...
end
または
for i in 0..(n-1) do
...
end
または
for i in (0).upto(n-1) do
...
end
逆順にするには
for i in (n-1).downto(0) do
...
end
引数を伴った break
でfor
文全体の返り値を指定することができる。
break
で指定しなかった場合は、for
文は、in
で指定した値の
each
メソッドの返り値を返す。
Perl 2014/05/16
C言語ライクのfor
文を使える。
for (my $i = 0; $i < 10; $i++) {
...;
}
$i
のスコープはfor
文の中のみである。
以下のような範囲演算子を使った方法もできる。(0
から9
までの10回処理を繰り返す例)
for my $i (0 .. 9) {
...;
}
Perlでは for
と foreach
はまったく同じなので、ここで foreach
と書いても同じ。
-> 配列でのforeach
sh (シェルスクリプト) 2014/11/13
bashでは以下のように書ける。
# 0から9までの10回処理を繰り返す例
for((i=0; i < 10; i++)); do
echo $i
done
この書き方はUbuntuでのシェルスクリプトのインタプリータでデフォルトとなっているdashでは使えない。
seq
コマンドを使う以下の方法であれば、bashでもdashでも使える。
# 1から10までの10回処理を繰り返す例
for i in `seq 10`; do
echo $i
done
-> seq
コマンド
ワンライナーで書きたい場合は各コマンドの後に改行の代わりにセミコロンが必要だが、do
のあとには不要。
for i in `seq 10`; do echo $i; done
ループの中では break
が使える。
JavaScript 2013/07/27
C言語ライクのfor文を使える。
for(var i = 0; i < 10; i++){
...;
}
var i
と書いているが、スコープはfor文を含む関数内であり、for文に限定できるものではない。