파일을 읽는 동안 스칼라에서 루프를 끊는 방법은 무엇입니까?

모하마드 파 자르

스칼라로 큰 텍스트 파일을 읽어야합니다. 그리고 해당 파일의 줄을 StringBuilder. 하지만 해당 파일의 줄에 문자열이 포함되어 있으면 루프를 중단해야합니다. 그리고 그 문자열을 StringBuilder에 추가하고 싶지 않습니다. 예를 들어 Java에서 루프 A"pengkor"결과 문자열에 포함 됩니다. 루프 B에는 해당 문자열이 포함되어 있지 않지만 루프에는 break스칼라에서 사용할 수없는 문이 있습니다. 루프 C에서는 for문을 사용 했지만 for스칼라의 루프 와는 매우 다른 동작을 사용 했습니다. 내 주요 관심사는 "pengkor"StringBuilder에 문자열 을 포함 하지 않고 파일의 크기 때문에 파일의 모든 내용을 스칼라 목록에로드하지 않는 것입니다 (스칼라 또는 다른 목록 작업의 목록 이해 목적).

public class TestDoWhile {

    public static void main(String[] args) {
        String s[] = {"makin", "manyun", "mama", "mabuk", "pengkor", "subtitle"};
        String m = "";
        StringBuilder builder = new StringBuilder();
        // loop A
        int a = 0;
        while (!m.equals("pengkor")) {
            m = s[a];
            builder.append(m);
            a++;
        }
        System.out.println(builder.toString()); 

        // loop B
        a = 0;
        builder = new StringBuilder();
        while (a < s.length) {
            m = s[a];
            if (!m.equals("pengkor")) {
                builder.append(m);
            } else {
                break;
            }
            a++;
        }
        System.out.println(builder.toString()); 

        // loop C
        builder = new StringBuilder(); 
        a = 0;
        for (m = ""; !m.equals("pengkor"); m = s[a], a++) {
            builder.append(m); 
        }
        System.out.println(builder.toString());
    }

}
Kigyo

이를 수행하는 한 가지 방법은 루프의 조건으로 부울을 사용하는 것입니다.

val lines = Source.fromPath("myfile.txt").getLines()
val builder = new StringBuilder
var cond = true
while(lines.hasNext && cond) {
  val line = lines.next
  if(line != "pengkor") {
    builder ++= line
  } else cond = false
}
//.. do something with the builder

스칼라와 같은 또 다른 방법은 takeWhile.

val lines = Source.fromPath("myfile.txt").getLines()
val builder = new StringBuilder
lines.takeWhile(_ != "pengkor").foreach(builder ++= _)

여기에서 볼 수도 있습니다. Scala에서 루프를 어떻게 중단합니까? 루프에서 벗어나는 다른 방법을보기 위해

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

루프에서 CSV 파일을 읽는 방법은 무엇입니까?

분류에서Dev

파일을 scp하는 동안 for 루프를 병렬화하는 방법은 무엇입니까?

분류에서Dev

스칼라 : 인덱싱 된 FOR 루프에서 조건을 두 배로 늘리는 방법은 무엇입니까?

분류에서Dev

for 루프를 사용하여 동시에 특정 여러 줄을 읽는 방법은 무엇입니까?

분류에서Dev

정수 배열로 입력을받는 동안 C ++에서 "enter"를 눌렀을 때 루프를 끊는 방법

분류에서Dev

파일을 읽는 동안 blob 오류를 해결하는 방법은 무엇입니까?

분류에서Dev

Java에서 빈 줄을 볼 때 while 루프를 끊는 방법은 무엇입니까?

분류에서Dev

JSON 파일에서 동적 URL을 읽는 방법은 무엇입니까?

분류에서Dev

시스템이 실행되는 동안 Windows SAM 파일을 덤프하는 방법은 무엇입니까?

분류에서Dev

Julia의 if 문 내부에서 for 루프를 끊는 방법은 무엇입니까?

분류에서Dev

Promise 내에서 루프를 끊는 방법은 무엇입니까?

분류에서Dev

Bash : 여러 조건을 포함하는 while 루프에서 파일을 읽는 방법은 무엇입니까?

분류에서Dev

크노픽스를 실행하는 동안 파일을 CD로 굽는 방법은 무엇입니까?

분류에서Dev

부트 스트랩을 컴파일하는 동안 오류를 줄이는 방법은 무엇입니까?

분류에서Dev

Twitter API의 한계에 도달했을 때 while 루프를 끊는 방법은 무엇입니까?

분류에서Dev

파일을 업로드하는 동안 데이터를 서버로 보내는 방법은 무엇입니까?

분류에서Dev

파일에서 정수를 읽는 동안 무한 루프

분류에서Dev

특수 문자열로 끝나는 while 루프에서 파일을 읽는 방법은 무엇입니까?

분류에서Dev

Trio에서 안전하게 연결을 끊는 방법은 무엇입니까?

분류에서Dev

루비에서 내부 루프와 다음 for 외부 루프를 끊는 방법은 무엇입니까?

분류에서Dev

루프에서 txt 파일의 여러 줄을 읽는 방법은 무엇입니까?

분류에서Dev

Xamarin 양식에서 yyy로 특성을 쓰는 동안 예외 장치 xxx 연결이 끊어진 문제를 해결하는 방법은 무엇입니까?

분류에서Dev

C ++에서 파일을 읽는 동안 파일 끝 문자를 무시하는 방법이 있습니까?

분류에서Dev

XML에서 텍스트를 읽는 동안 태그를 무시하는 방법은 무엇입니까?

분류에서Dev

for-each 루프를 사용하는 동안 클래스 목록에서 항목을 제거하는 방법은 무엇입니까?

분류에서Dev

for 루프로 요청을 사용하는 동안 HTTP 오류를 무시하는 방법은 무엇입니까?

분류에서Dev

배열에서 스칼라 패턴 일치를 수행하는 방법은 무엇입니까?

분류에서Dev

스칼라에서 일반 (다형성) 람다를 얻는 방법은 무엇입니까?

분류에서Dev

스칼라에서 네트워크 스트림을 읽는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    루프에서 CSV 파일을 읽는 방법은 무엇입니까?

  2. 2

    파일을 scp하는 동안 for 루프를 병렬화하는 방법은 무엇입니까?

  3. 3

    스칼라 : 인덱싱 된 FOR 루프에서 조건을 두 배로 늘리는 방법은 무엇입니까?

  4. 4

    for 루프를 사용하여 동시에 특정 여러 줄을 읽는 방법은 무엇입니까?

  5. 5

    정수 배열로 입력을받는 동안 C ++에서 "enter"를 눌렀을 때 루프를 끊는 방법

  6. 6

    파일을 읽는 동안 blob 오류를 해결하는 방법은 무엇입니까?

  7. 7

    Java에서 빈 줄을 볼 때 while 루프를 끊는 방법은 무엇입니까?

  8. 8

    JSON 파일에서 동적 URL을 읽는 방법은 무엇입니까?

  9. 9

    시스템이 실행되는 동안 Windows SAM 파일을 덤프하는 방법은 무엇입니까?

  10. 10

    Julia의 if 문 내부에서 for 루프를 끊는 방법은 무엇입니까?

  11. 11

    Promise 내에서 루프를 끊는 방법은 무엇입니까?

  12. 12

    Bash : 여러 조건을 포함하는 while 루프에서 파일을 읽는 방법은 무엇입니까?

  13. 13

    크노픽스를 실행하는 동안 파일을 CD로 굽는 방법은 무엇입니까?

  14. 14

    부트 스트랩을 컴파일하는 동안 오류를 줄이는 방법은 무엇입니까?

  15. 15

    Twitter API의 한계에 도달했을 때 while 루프를 끊는 방법은 무엇입니까?

  16. 16

    파일을 업로드하는 동안 데이터를 서버로 보내는 방법은 무엇입니까?

  17. 17

    파일에서 정수를 읽는 동안 무한 루프

  18. 18

    특수 문자열로 끝나는 while 루프에서 파일을 읽는 방법은 무엇입니까?

  19. 19

    Trio에서 안전하게 연결을 끊는 방법은 무엇입니까?

  20. 20

    루비에서 내부 루프와 다음 for 외부 루프를 끊는 방법은 무엇입니까?

  21. 21

    루프에서 txt 파일의 여러 줄을 읽는 방법은 무엇입니까?

  22. 22

    Xamarin 양식에서 yyy로 특성을 쓰는 동안 예외 장치 xxx 연결이 끊어진 문제를 해결하는 방법은 무엇입니까?

  23. 23

    C ++에서 파일을 읽는 동안 파일 끝 문자를 무시하는 방법이 있습니까?

  24. 24

    XML에서 텍스트를 읽는 동안 태그를 무시하는 방법은 무엇입니까?

  25. 25

    for-each 루프를 사용하는 동안 클래스 목록에서 항목을 제거하는 방법은 무엇입니까?

  26. 26

    for 루프로 요청을 사용하는 동안 HTTP 오류를 무시하는 방법은 무엇입니까?

  27. 27

    배열에서 스칼라 패턴 일치를 수행하는 방법은 무엇입니까?

  28. 28

    스칼라에서 일반 (다형성) 람다를 얻는 방법은 무엇입니까?

  29. 29

    스칼라에서 네트워크 스트림을 읽는 방법은 무엇입니까?

뜨겁다태그

보관