내가 같은 옵션이 활성 패턴을 만들 수 없습니다 발견했습니다,하지만 난 경고없이 유사한 것들 두를 수 있습니다 :F #을 덮어 활성 패턴을 피
이 방법으로 일치let (|A|B|C|) c =
if (c = 'a') then A
else if (c = 'b') then B
else C
let (|A|B|D|) c =
if (c = '1') then A
else if (c = '2') then B
else D
그래서 때
을let check myvar =
match myvar with
| A -> printf "match A\n"
| n -> printf "match other %A\n" n
이 발생합니다
check 'x' // match other 'x'
check 'a' // match other 'a' !!
check '1' // match A
내가 덮어 기존 활성 PA 약간의 걱정 예를 들어 (|Direct|Indirect|)
(경로) 및 (|Alternating|Direct|)
(현재)과 같은 서로 다른 의미 문맥 때문에 동일한 단어가 다른 패턴으로 나타날 수있는 상황에서 부주의하게 ttern 옵션을 사용할 수 없습니다.
이 상황을 어떻게 피할 수 있습니까?
이것은 매우 좋은 방법입니다. 감사! – vtortola