for

for을 사용하면 값들의 모음(collection)에서 각 값들을 순서대로 꺼낼 수 있습니다. 이처럼 값들을 순서대로 꺼내는 것을 순회(loop over)한다고 말합니다.

6부터 9까지의 정수를 순서대로 프린트하는 코드를 작성해 보겠습니다. 먼저 파이썬에서는 range를 사용하면 됩니다. 이때 range는 마지막 값은 생략되므로 range(6, 10) 과 같이 입력해야 합니다. 이때 print 함수에 end=","를 넣어 줄바꿈 대신 콤마가 들어가도록 해서 결과가 한줄로 출력되도록 했습니다.

for i in range(6, 10):
    print(i, end=",")

실행 결과

6,7,8,9,

러스트에서는 특정 범위의 정수를 a..b 와 같은 문법으로 간단하게 만들 수 있습니다. 마찬가지로 마지막 값은 생략되기 때문에 6..10과 같이 입력합니다. 결과를 한 줄로 프린트하기 위해서 println! 대신 print! 함수를 사용합니다.

fn main() {
    for i in 6..10 {
        print!("{},", i);
    }
}

실행 결과

6,7,8,9,

파이썬에서 range를 변수에 할당했다가 나중에 for 로 반복할 수 있습니다.

num_range = range(6, 10)

for i in num_range:
    print(i, end=",")

마찬가지로 러스트에서도 정수 범위를 변수에 할당해 두었다가 나중에 반복할 수 있습니다.

fn main() {
    let num_range = 6..10;
    for i in num_range {
        print!("{},", i);
    }
}

러스트에서는 정수 범위를 만들 때, 마지막 숫자를 포함할 수 있습니다.

fn main() {
    let num_range = 6..=10;
    for i in num_range {
        print!("{},", i);
    }
}

실행 결과

6,7,8,9,10,

러스트에서 for 를 사용해 반복할 수 있는 타입에 대해서는 뒤에서 자세히 다루겠습니다.