#Arr2Vec #collect함수
1부터 100까지 숫자로 구성된 배열을 만들 때,
생각보다 귀찮은 방식을 사용해야 한다.
let mut x = {
let mut arr = [0; 75];
for i in 1..75 {
arr[i] = i + 1;
}
arr
};
이러면 이제 Rust 쓰기 싫어지고 왜 쓰는지 또 이유를 찾아야 하고...
이럴땐 Vec 타입의 iter 를 사용하면 된다.
let mut x: Vec<isize> = (1..=75).collect()
하면 끝!
참고로 .collect()는 범위(1 ~ 75)를 반복 가능한(iterable) 컬렉션으로 변환한다.
배열을 꼭 써야한다면(이런 경우 거의 없지만...)
let mut x2: Box<[isize]> = x.clone().into_boxed_slice()
Box 를 사용해서 slice 형태로 받아서 사용할 수는 있다고 한다.
이게 타입을 맞추는 작업이 좀 중요하다. (타입 추론도 물론 가능하지만...)
자바보다 100배 체감상 난이도가 느껴진다.
익숙해지는게 가장 빠른 길일 듯 하다.