нет простого способа с записями в 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 }
Правда ли, что я не могу создать кривую глубины за один раз, когда поля в записи типа координат помечены?
Решение
Вы должны использовать {}
для записей, а не ()
.То есть:
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 };;
Не связан с StackOverflow