2017-02-22 3 views
-3

내 C++ 선생님은 한 때 루프를 빠져 나가기 위해 휴식을 사용해야한다면 루프 상태에 대해 충분히 생각하지 못했다고 말했습니다.foreach에서 빠져 나와

그래서 (아주 좋은 선생님 btw) foreach 루프는이 규칙에 대한 예외이며 (일반적으로 사실 인 것으로 나타났습니다) 또는 foreach 루프를 빠져 나가는 방법 휴식을 사용하고 있습니까?

나는 일반적으로 묻고 있지만, 나를 위해 가장 흥미로운 것은 자바 또는 PHP에 대한 것입니다.

편집 : 이 경우를 명확하게하지 않은 경우, 휴식을 사용하지 않고 foreach-loop에서 벗어날 수있는 방법이 있는지 궁금합니다. 이 모든 소동이 무엇인지, 그 질문에 무엇이 잘못 되었습니까?

+0

실제 구현 한 것을 구현하려고 했습니까? –

+0

질문을 받으면 확실하지 않습니다 ... 예, foreach-loops를 구현했습니다 ...? – Samarek

+2

선생님과 동의하지 않습니다. 아마도 명확하게 정의 된 운동 및 문제의 학문적 세계에서 그녀는 한 가지 점을 가지고 있습니다. 그러나 예측할 수없는 사용자와 방대한 데이터 세트의 현실 세계에서 루프를 벗어나지 않고도 계속할 점이없는 경우가 가장 깨끗한 솔루션입니다. –

답변

1

foreach 루프가 암시 제외한 모든 종료 조건이없는 "경우가 반복 할 항목이 더 이상 없습니다. "따라서 일종의 끔찍한 해킹을하지 않고도 break을 피하면서 일찍 탈옥하십시오. 예외를 던지거나, 반복 컬렉션을 수정하거나, 부울 플래그 dontContinue을 설정하고 각 반복에서 확인하는 등). 일반 루프에 대한

은 참으로 항상 같은 접근 방식은 더 읽을 수있는 코드로 연결 그러나 여부, (ifcontinue를 사용하여 현재 반복을 중지하고 루프의 상태에 조기 종료 조건을 넣어) break을 사용하지 않도록하는 확실한 방법이있다 break을 사용하는 것보다는 논쟁의 여지가 있습니다. 당신이 수행 할 어떤 작업이 필요 완료, 또는 필요한 항목을 찾을 수 있기 때문에 어떤 경우에는


, 당신은 루프의 탈옥하려는 이유는 이르다. 이 경우 특정 기능을 별도의 메서드에 넣고 break 대신 return을 사용하는 것이 좋습니다.

+0

내가 완전히 생각한 이후로, 내가 이미 생각한 것. 기본적으로 확인을 찾고있었습니다. 감사 – Samarek

-1

실제로 PHP에서 휴식을 사용하여 foreach 루프에서 빠져 나올 수 있습니다!

예 :

<?php 

$test = array("1", "2"); 

foreach($test as $ok) 
{ 
    break; 
} 

echo $ok; 

윌 출력 1

테스트에서 :

http://phptester.net/

+0

이 방법을 통해 'break', ' OP 질문에 따라? –

+0

@ JiriTousek 그는 foreach 루프가 중단으로 끝날 수 없는지 먼저 물어 보았습니다! – Soheyl

+0

그 답변은 실제로 내 질문의 반대쪽에 적용됩니다. – Samarek