를 계층 구조 나는 다음과 같은 코드가 있습니다F 번호 차별 조합은
public abstract class A ...
public class B : A ...
public class C : A ...
void my_fct(A x) {
if (x is B) { block_1 }
else if (x is C) { block_2 }
else { block_3 }
}
을하고 나는 그것이 F 번호
type a = B | C
let my_fct x =
match x with
| B -> (block_1)
| C -> (block_2)
| _ -> (block_3)
에서 좋은 번역의 경우 궁금해?
괜찮아요. 당신이 빠진 것을 제외하고는; block_1, block_2 및 block_3 이후 –
실례지만, 'block_3'인 것처럼 보이지만 F # 스 니펫에서는 실행할 수 없습니다 (대수 데이터 유형은 내가 아는 한 "닫습니다"). 왜 그런가요? 또한 번역에서 다형성을 사용해야한다고 생각하는 사람은 나뿐입니까? – delnan
당신은 block_3에 대해 절대적으로 모두 맞습니다. – Hugo