F#でレコードを持つ簡単な方法はありませんか?
-
19-09-2019 - |
質問
F#では、私はこれを行うことができます
type coord = float * float //Type for a 2D-float-tupple
let myDepthCurve1 = { coords = [(1., 2.); (3., 4.)]; depth = 9.4 }
が、私はこれを行うことはできません。
type coord = { longitude : float; latitude : float } //Type for a 2D-float-record
let myDepthCurve1 = { coords = [(longitude = 1., latitude = 2.); (longitude = 3., latitude = 4.)]; depth = 9.4 }
これはCOORDタイプのレコードのフィールドが標識されたとき、私は一度に私のdepthurveを作成することができないというのは本当ですか?
解決
あなたは{}
ない、レコードに()
を使用する必要があります。すなわち:ます。
type coord = { longitude : float; latitude : float } //Type for a 2D-float-record
let myDepthCurve1 = {
coords = [ { longitude = 1.; latitude = 2. };
{ longitude = 3.; latitude = 4. }];
depth = 9.4 }
他のヒント
私は、あなたが「インライン」のレコード表現を構築するために中括弧の代わりに括弧を使用した場合、それは大丈夫だと思います。
このようなタイプを想定します:
型X = {COORDS:COORDリスト。深さ:フロート} ;;
あなたはこれを書くことができます:
せmyDepthCurve1 = {COORDS = [{経度= 1;緯度= 2}。 {経度= 3 .;緯度= 4}]。 深さ= 9.4} ;;
所属していません StackOverflow