Ocaml과 함수 언어를 일반적으로 배우려고 시도하면서 패턴 일치를 조사했습니다. this documentation을 읽고 나서 다음 연습을 직접 해보기로 결정했습니다."사각형"튜플에 대한 Ocaml 패턴 일치?
4-tuple의 각 요소가 동일하도록 정수 4- 튜플이 입력되면 true
으로 평가되는 식을 만듭니다.
(4, 4, 4, 4) ->true
(4, 2, 4, 4) -> I 찾을 false
그 값의 특이성에 대해 패턴 매칭을 수행 요소는 분명하지 않습니다. 이것이 제가 작성한 코드입니다.
Error: Variable a is bound several times in this matching
어떻게 다른 난 단지도 엄격 동일한 정수 x가 4 튜플 적용 할 수는 없지만 : 물론
let sqr x = match x with
(a, a, a, a) -> true
| (_, _, _, _) -> false ;;
,이 코드는 다음과 같은 오류가 발생합니다?
(물론 "정사각형"튜플은 양의 정수가 허용되어서는 안되지만, 지금 당장의 문제와 관련이 있습니다). `
OCaml에는 각 변수가 한 번 나타나서 소위 "선형"패턴 만 있습니다. 패턴은 매칭 값의 다른 부분간에 동일성을 적용 할 수 없습니다. –
또한 다음과 같이 함수 인수를 패턴 매치 할 수 있습니다 : let sqr (a, b, c, d) = a = b && b = c && c == d'''' 더 자연스러운 것처럼 보일 수도 있습니다 – ghilesZ