Foreach 루프
For each(또는 foreach)는 컬렉션 안의 항목들을 횡단하는 제어 흐름 문이다. Foreach는 표준 For 문 대신 사용되는 것이 일반적이다. 그러나 loop 구조체를 위한 다른 루프와 달리 foreach 루프[1]는 일반적으로 명시적인 카운터를 관리하지 않는다. 즉, "이것을 x번 하라"라고 하지 않고 "이 집합 안에서 모든 것에 대해 이것을 하라"라고 필수적으로 명시하게 된다. 잠재적인 순환 횟수 오류(off-by-one error)를 예방하고 코드를 더 단순하게 읽힐 수 있게 만들어준다. 객체 지향 언어에서는 횡단을 위해 비명시적인 경우에도 반복자가 종종 사용된다.
문법
편집문법은 언어에 따라 다양하다. 대부분은 다음과 비슷한 형태로 단순한 낱말 for
를 사용한다:
for each item in collection: do something to item
언어 지원
편집펄
편집리스트 리터럴의 예:
foreach (1, 2, 3, 4) {
print $_;
}
배열의 예:
foreach (@arr) {
print $_;
}
foreach $x (@arr) { #$x is the element in @arr
print $x;
}
해시(Hash)의 예:
foreach $x (keys %hash) {
print $x . " = " . $hash{$x}; # $x is a key in %hash and $hash{$x} is its value
}
콜렉션 멤버들의 직접 수정:
@arr = ( 'remove-foo', 'remove-bar' );
foreach $x (@arr){
$x =~ s/remove-//;
}
# Now @arr = ('foo', 'bar');
자바스크립트
편집Object 내의 키를 순서 없이 반복시키기 위해 자바스크립트는 for...in
루프를 사용한다:
for (var key in object) {
// Do stuff with object[key]
}
같이 보기
편집각주
편집- ↑ “D Programming Language
foreach
Statement Documentation”. Digital Mars. 2008년 8월 4일에 확인함.