사용할 데이터 유형이 확실하지 않은 문제가 있습니다. 현재 나는 Array2D<'T>
으로 갔지만, 앞으로 다른 컨테이너를 사용하기 위해 내 마음이 바뀔 수도 있습니다. C++에서는 인스턴스 메소드를 사용할 것이고, 언제든지 변경할 수있는 typedef
을 사용할 수 있습니다 (새 컨테이너가 필요한 모든 메소드를 지원하는 한). 이렇게하면 깨끗한 추상화 계층을 제공하여 내가 적합하다고 생각하는대로 변경할 수 있습니다.깨끗한 추상화 레이어 만들기
어떻게 F #에서 비슷한 작업을 수행 할 수 있습니까? typedef
에 대한 용도가 있습니까? 이것이 하스켈의 '더 높은 종류의 유형'을 사용하는 것입니까? 사용중인 모든 방법 당신은 'T> 사방 후 실제 구현을 대체합니다 MyType <를 사용할 수 축약 된 형태의
type MyType<'T> = Array2D<'T>
에 동일한 경우
.NET의 문제는 동일한 방법으로 유형을 찾는 것이 어렵다는 것입니다. [이 프로젝트] (https://github.com/gmpl/FSharpPlus/blob/bb60400df656bf848a0de2d4503783b4b034b773/src/FSharpPlus/Operators.fs#L250) (컬렉션 및 접이식 참조)에서 전환을 위해 초기 작업을 수행했습니다. 구현간에. 이 기술은 Haskell의 typeclasses와 유사합니다. – Gustavo