목록이 두 개씩 그룹화 된 후 목록에서 일치하는 요소의 쌍을 찾아야합니다.컬렉션을 두 개의 쌍으로 나눕니다.
e.e. 1 1 2 3 2 2
은 1 1 2 2
을 반환하지만 1 2 2 1
은 두 개가 다른 상자에 있기 때문에 아무 것도 반환하지 않습니다.
내 생각은 상자를 만든 다음 마스크를 적용하여 일치하는 쌍을 얻는 것이었지만 쌍으로 된 복싱 단계를 파악할 수는 없습니다. 어떻게 pairwise 복싱을 할 것 인가? 이 일을해야
목록이 두 개씩 그룹화 된 후 목록에서 일치하는 요소의 쌍을 찾아야합니다.컬렉션을 두 개의 쌍으로 나눕니다.
e.e. 1 1 2 3 2 2
은 1 1 2 2
을 반환하지만 1 2 2 1
은 두 개가 다른 상자에 있기 때문에 아무 것도 반환하지 않습니다.
내 생각은 상자를 만든 다음 마스크를 적용하여 일치하는 쌍을 얻는 것이었지만 쌍으로 된 복싱 단계를 파악할 수는 없습니다. 어떻게 pairwise 복싱을 할 것 인가? 이 일을해야
는 (내 문제에 대한 또 다른 해결책은뿐만 아니라 흥미로운 일이 될 것입니다,하지만 난 페어 권투 솔루션에 관심이 있어요).
_2 ]\ 1 2 2 1
1 2
2 1
이것은 Infix라고 불리는 dyad를 기반으로합니다. 이 링크에서 그것에 대해 더 많은 : http://www.jsoftware.com/help/dictionary/d430.htm
사람 상자, 박스 바로 동사에 부사 \
을 적용 <
_2 <\ 1 2 4 5 4 6 2 1
+---+---+---+---+
|1 2|4 5|4 6|2 1|
+---+---+---+---+
건물 밥의 대답에, 당신은뿐만 아니라와 값의 쌍 조건 동사를 적용 할 수 있습니다 Infix (\
) adverb :
_2 =/\ 1 1 2 3 2 2
1 0 1
당신이 t에하지 않는 박스 결과를 (필요가 있다고 가정하면,이 조건 적용 다음과 포장 된 결과를 얻을 수있는 직접적인 방법 그의 간단한 예) : 경우
((_2 =/\ ]) # _2 <\ ]) 1 2 2 1
((_2 =/\ ]) # _2 <\ ]) 1 1 2 3 2 2
┌───┬───┐
│1 1│2 2│
└───┴───┘
그것은 위의 괄호 (_2 =/\ ])
와 조건 계산 불분명하다. 포크 규칙은 _2 <\ ]
을 상자에 적용한 다음 f # g
포크로 조건부 결과와 일치하는 상자를 선택합니다.
일반적으로 가변 크기 목록을 처리하는 상황에서 상자를 사용하는 것이 좋습니다. 그렇지 않은 경우 성능 향상 (속도 향상 및 공간 축소)을 피하는 것이 가장 좋습니다. 이 버전은 상자를 사용하지 않습니다
_2 ,@(]\ #~ =/\) 1 1 3 4 2 2
1 1 2 2
_2 ,@(]\ #~ =/\) 1 2 2 1
또는 사용'_2 <1 2 3 4 5 4 6 2 1 ' – Tikkanz
\가 본 것이 정말해야 Tikkanz을 정화하지 I. 감사합니다. – bob
사실 Dane이 내 대답을 정리 한 이래로 원래는 Tikkanz가 지적한 것 인'_2 <@] \ 1 2 4 5 4 6 2 1'이었습니다. – bob