바다지도에서 깊이 곡선을 표현하기 위해 F #에서 구조체를 만들려고합니다. 그것은 좌표 목록과 어떤 깊이가 표현되는지를 나타내는 float (예 : "4.5m")를 포함해야합니다. 나는이 방법을 만들었습니다 :바다지도에서 깊이 곡선 구조
type Coord =
struct
val X : float
val Y : float
new(x,y) = { X = x ; Y = y }
end
type DepthCurve =
struct
val Coords : list<Coord>
val Depth : float
new(list_of_Coords, depth) = { Coords = list_of_Coords ; Depth = depth}
end
let myCoord1 = new Coord(1.,2.)
let myCoord2 = new Coord(3.,4.)
let myDepthCurve = new DepthCurve([myCoord1;myCoord2] , 5.)
내 문제는이 날과 같이 한 번에 다각형과 그 좌표를 만들 수 없다는 것입니다 :
이let myDepthCurve = {coords=[[1.;2.];[3.;4.]] , 5}
위한 솔루션이 존재 이 :
type Coord = { X : float; Y : float }
type 'a DepthCurve = {coords: 'a list;}
let myDepthCurve = {coords=[[1.;2.];[3.;4.]]};;
하지만 그것은 나뿐만 아니라 구조체의 깊이를 나타내는 플로트를하지 않으며, 그것은 나를 좌표 만 할 목록의 종류를 제한하지 않습니다.
두 세계의 장점을 어떻게 결합합니까?
을이 정말 좋다 . 이렇게하면 짧은 표기법과 치즈가 있습니다. – loldrup
... 내 VS 2008에서 작동하지 않는 것을 제외하고는 다음과 같습니다. – loldrup
내 전체 답장보기 myCurve에서 코드와 심도 멤버를 구분하는 쉼표는 세미콜론이어야합니다. – kvb