홈>
내 함수는
Vec
를 반환합니다.
튜플에 대한 참조가 있지만
Vec
가 필요합니다.
튜플 수 :
use std::collections::HashSet;
fn main() {
let maxs: HashSet<(usize, usize)> = HashSet::new();
let mins: HashSet<(usize, usize)> = HashSet::new();
let intersection = maxs.intersection(&mins).collect::<Vec<&(usize, usize)>>();
}
전환은 어떻게해야합니까?
오류 :
19 | maxs.intersection(&mins).collect::<Vec<&(usize, usize)>>()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected tuple, found reference
|
= note: expected type `std::vec::Vec<(usize, usize)>`
found type `std::vec::Vec<&(usize, usize)>`
저는
for
사용
루프하여 변환을 수행하지만 마음에 들지 않으며 관용적 인 방식이 있어야한다고 생각합니다.
for t in maxs.intersection(&mins).collect::<Vec<&(usize, usize)>>().iter() {
output.push(**t);
}
- 답변 # 1
관련 자료
- 추상 클래스에서 값을 다시 개체로 변환하는 C #
- swift - Binding 형식의 두 값을 Binding 로 변환
- c++ - std - : string을 음수 값으로 double로 변환하면 0이됩니다
- javascript - lis의 값과 다시 정수로 변환
- python - dtype = object를 이진 값으로 변환
- c# - 문자열을 배열로 변환하고 철자를 역순으로 반환
- python - 사전을 목록으로 변환 한 다음 목록에서 다시 사전으로 값이 동일합니다
- python - 길이가 같은 키와 값을 사전 형식으로 변환
- python - beautifulsoup - 중첩 된 for 루프 내에서 문자열 값을 int로 변환 한 다음 정렬
- rest - JSON을 구조체로 비 정렬 화하지만 값을 필수 dtype으로 변환
- C ++에서 CSV 읽기 16 진수 문자열 값을 uint8_t로 변환
- javascript - 무게 값을 저장하고 표준/메트릭 무게로 변환하는 방법?
관련 질문
- rust : 부울 반복자 줄이기
- rust : 일반 참조로 간단한 부모-자식 구조를 만드는 방법은 무엇입니까?
- iterator : refcell에서 vec의 반복자를 반환합니다
- vector : 반복기로 벡터 그룹으로 벡터를 분할 할 수 있습니까?
- testing : 반복자를 어떻게 비교합니까? [복제하다]
- '참조'의 개념이 c++ 및 녹에서 다른 것입니까?
- iterator : 녹슬지 않는 반복기를 재사용하는 가장 효율적인 방법은 무엇입니까?
- rust : 녹 : 함수 인수에 대한 참조 참조 전달 (Book v1)
- 반복 불가능한 Rust 요소에서 반복하는 방법은 무엇입니까?
- rust : 녹음에서
>>
1.36.0에서 업데이트
Rust 1.36.0에
<시간>copied
가 도입되었습니다cloned
처럼 작동합니다 하지만Copy
를 사용합니다 사본이 저렴해야하는 특성 (예 :memcpy
) 뿐).Copy
를 구현하는 기본 유형 또는 유형이있는 경우 대신 사용할 수 있습니다.예제를 작동 시키려면
<시간> 이 솔루션은cloned
를 사용하십시오. 그런 다음collect
.Clone
를 구현하는 것보다 모든 유형에서 작동합니다. : 함수가 슬라이스를 허용하면cloned
를 사용해야합니다 두 번.이 이유는
<시간>iter()
슬라이스의 참조에 대해 반복자를 반환하여&&T
가됩니다. .Clone
를 구현하지 않는 유형이있는 경우 , 당신은map
와 행동을 모방 할 수 있습니다(운동장)