예를 들어서 1 3 4 이렇게 숫자가 들어올때
위 코드보다 훨씬 더 깔끔하게 받는법 있음?
한번에 튜플로 받는다던지 등
let nums = { let mut m = input.split_whitespace().map(str::parse::).map(Result::unwrap); (m.next().unwrap(), m.next().unwrap(), m.next().unwrap())};
parse:: \< u32 \>
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=2558293b1b52b1c92d40bb2f63e1c6b0어때
오 이거좋네 감사
filter_map 대신 map(|i| i.parse::().unwrap()) 이렇게 쓰는게 나으려나
그럼 공백도 parse되는거아님?
좀 이해가 안되는데 그럼 1 3 4 에서 1 다음에 공백받으면 panic되버리는거아님?
parse는 다 수행하는데 filter_map은 되는 원소만 남고 map 쓰면 parse 실패할때 패닉터짐 그차이
split_whitespace했는데 공백이 있음?
아 맞네 ㅋㅋ; 아 근데 러스트 특성상 마지막에 줄바꿈 문자는 남잖아 그럼 그때 panic터지지 않음?
우선 님말대로 map으로하고 하니까 되긴하는데 왜 마지막에 panic안터지지?? 줄바꿈은 남지않나
whitespace에 줄바꿈 문자도 들어있잖아
아 whitespace가 줄바꿈 문자도 처리해줌..?
https://doc.rust-lang.org/stable/std/primitive.str.html#method.split_whitespace
밑에 itertools가 젤 깔끔한듯
문제 풀때 하려는거라 외부패키지는 안댐
그래도 외부 크레잇 안쓰면 이게 제일 깔끔해 보이네
use itertools::Itertools; let (a, b, c) = input .split_whitespace() .map(|s| s.parse::().unwrap()) .collect_tuple() .unwrap();
감사감사
아 근데 이거 왜부패키지인가 보네
macro_rules! nuw { ($x:expr) => { $x.next().unwrap() }; } let mut it = input.split_whitespace().map(|s| s.parse::().unwrap()); let (a, b, c) = (nuw!(it), nuw!(it), nuw!(it));
let mut split = input.split_whitespace(); let [a, b, c] = [(); 3].map(|_| split.next().unwrap().parse::().unwrap());
let nums = { let mut m = input.split_whitespace().map(str::parse::).map(Result::unwrap); (m.next().unwrap(), m.next().unwrap(), m.next().unwrap())};
parse:: \< u32 \>
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=2558293b1b52b1c92d40bb2f63e1c6b0
어때
오 이거좋네 감사
filter_map 대신 map(|i| i.parse::().unwrap()) 이렇게 쓰는게 나으려나
그럼 공백도 parse되는거아님?
좀 이해가 안되는데 그럼 1 3 4 에서 1 다음에 공백받으면 panic되버리는거아님?
parse는 다 수행하는데 filter_map은 되는 원소만 남고 map 쓰면 parse 실패할때 패닉터짐 그차이
split_whitespace했는데 공백이 있음?
아 맞네 ㅋㅋ; 아 근데 러스트 특성상 마지막에 줄바꿈 문자는 남잖아 그럼 그때 panic터지지 않음?
우선 님말대로 map으로하고 하니까 되긴하는데 왜 마지막에 panic안터지지?? 줄바꿈은 남지않나
whitespace에 줄바꿈 문자도 들어있잖아
아 whitespace가 줄바꿈 문자도 처리해줌..?
https://doc.rust-lang.org/stable/std/primitive.str.html#method.split_whitespace
밑에 itertools가 젤 깔끔한듯
문제 풀때 하려는거라 외부패키지는 안댐
그래도 외부 크레잇 안쓰면 이게 제일 깔끔해 보이네
use itertools::Itertools; let (a, b, c) = input .split_whitespace() .map(|s| s.parse::().unwrap()) .collect_tuple() .unwrap();
감사감사
아 근데 이거 왜부패키지인가 보네
macro_rules! nuw { ($x:expr) => { $x.next().unwrap() }; } let mut it = input.split_whitespace().map(|s| s.parse::().unwrap()); let (a, b, c) = (nuw!(it), nuw!(it), nuw!(it));
let mut split = input.split_whitespace(); let [a, b, c] = [(); 3].map(|_| split.next().unwrap().parse::().unwrap());