私はF#で海図の深度曲線を表現するための構造体を作成しようとしています。それは、座標のリストと、どの深さが表現されているかを示す浮動小数点(例えば、「4.5メートル」)を含んでいなければならない。私はそれをこのように作られています海の地図の深度曲線の構造
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.)
私の問題は、これは私が一度に多角形とそのCOORDSを作成することはできませんということで、次のように:
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.]]};;
が、それは私が同様に構造体の深さを示すフロートを持たせていない、そしてそれは私が唯一のCOORDSするリストの種類を制限することはできません。
どのようにすれば両方の世界のベストを組み合わせることができますか?
を。これは短い記法とチーズを持っています。 – loldrup
... VS 2008で動作しない点を除いて。 – loldrup
myCurveのcoordsとdepthのメンバーを区切るカンマは、セミコロンでなければなりません。 – kvb