Вопрос

В 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 }

Правда ли, что я не могу создать кривую глубины за один раз, когда поля в записи типа координат помечены?

Это было полезно?

Решение

Вы должны использовать {} для записей, а не ().То есть:

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 = { координаты :список координат;глубина :плавать };;

Вы могли бы написать это:

let myDepthCurve1 = { coords = [{longitude = 1.;широта = 2.};{долгота = 3.;широта = 4.}];глубина = 9,4 };;

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top