4 개의 다른 데이터 배열이 있습니다. 문자열의 첫 번째 배열에 대해 중복 요소를 삭제하고 4 개의 요소가있는 고유 한 튜플의 배열 결과를 가져와야합니다.F # 튜플의 고유 배열을 찾는 추가 요구 사항
let zip4 a (b : _ []) (c : _ []) (d : _ []) =
Array.init (Array.length a) (fun i -> a.[i], b.[i], c.[i], d.[i])
let uniqueArray = zip4 dupA1 dupA2 dupA3 dupA4 |> Seq.distinct |> Seq.toArray
: 그의 위대한 코드 abatishchev하는
let uniqueArray = [| ("A", 1, 1.0M, 1L); ("B", 2, 2.0M, 2L); ("C", 3, 3.0M, 3L); ("D",4,
덕분에, 지금은이 대답을 :
let dupA1 = [| "A"; "B"; "C"; "D"; "A" |]
let dupA2 = [| 1; 2; 3; 4; 1 |]
let dupA3 = [| 1.0M; 2.0M; 3.0M; 4.0M; 1.0M |]
let dupA4 = [| 1L; 2L; 3L; 4L; 1L |]
나는 결과가되고 싶어요 : 예를 들어 , 이제 배열이 가정 해 봅시다
그러나 더 나아가 고유 배열에서 각 배열의 결과를 찾고 싶습니다.
let uniqueArray = [| ("A", 1, 1.0M, 1L); ("B", 2, 2.0M, 2L); ("C", 3, 3.0M, 3L); ("D",4, 4.0M, 4L) |]
나는 uniqeArray에서 다음 4 개 배열을 원하는 :
:Warning 1
Incomplete pattern matches on this expression. For example, the value '[|_; _|]
' may indicate a case not covered by the pattern(s).
let [| uniqA1, uniqA2, uniqA3, uniqA4 |] = uniqueArray
, 나는 컴파일러 경고를 먼저 얻을 :
let uniqA1 = [| "A"; "B"; "C"; "D" |]
let uniqA2 = [| 1; 2; 3; 4 |]
let uniqA3 = [| 1.0M; 2.0M; 3.0M; 4.0M |]
let uniqA4 = [| 1L; 2L; 3L; 4L |]
나는 다음 코드를 시도
를 사용한 후
Microsoft.FSharp.Core.MatchFailureException was unhandled
Message: An unhandled exception of type 'Microsoft.FSharp.Core.MatchFailureException' occurred in Program.exe
가 더 요구 사항을 제발 도와주세요 :는 실행 시간 동안, 나는 다음과 같은 오류가 발생했습니다.
, 당신은 올바른으로 답변을 표시해야합니다. –
abatishchev가 해당 코드를 작성하지 않았습니다. 코드를 작성한 사람은 @Ramon Snir입니다. 누구에게 도움을 주 었는지 크레딧을주십시오. – pad
안녕하세요, 당신의 피드백을 위해 당신보다, 나는 틀린 신용을 위해 실수 할 수 있습니다, 나는 나중에 그것을 바꿀 것입니다; 그러나 나는 그 질문을 답으로 표시 할 수있는 방법을 볼 수 없다. 몇 가지 지시 사항을 알려주십시오. 다시 도움 주셔서 감사합니다. –