겹의 함정
나는 녹을 배우고 싶지만 내 자바 스크립트 배경으로 철학이 그렇게 쉽지는 않습니다. 이 언어를 배우기 위해 몇 가지 codewars kata를 해결하기 시작하고, 그 동안 정말 괜찮은 jupyter 노트북에도 Rust 커널을 넣었습니다.
나는 이 짧은 문제를 발견했습니다: char 반복 없이 string으로 바꾸십시오. 이것이 연습에 좋은 것 같아요.
"tttrrrappp oooof fffffooooldd"
.chars()
.fold("", |mut acc, ch| if acc.chars().last() == Some(ch) {acc} else {[acc, ch.to_string()].concat()})
그러나 이것은 다음 오류로 이어집니다.
.fold("", |acc, ch| if acc.chars().last() == Some(ch) {acc} else {[acc, ch.to_string()].concat()})
^^^^^^^^^^^^^^ expected `&str`, found struct `std::string::String`
mismatched types
나는 이 경우를 제외하고는 매우 의미가 있기 때문에 녹 오류 메시지를 좋아합니다. 문자열 처리에 대한 수많은 녹 예제와 블로그를 살펴본 후 마침내 해결책을 찾았습니다.
"tttrrrappp oooof fffffooooldd"
.chars()
.fold(String::new(), |acc, ch| if acc.chars().last() == Some(ch) {acc} else {[acc, ch.to_string()].concat()})
폴드 컬렉터는 정적이지 않을 것입니다!
Reference
이 문제에 관하여(겹의 함정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/pengeszikra/trap-of-fold-4fnb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)