день добрый.
есть что-то вроде:
type type_1 = { field_1: string
; field_2: string
};;
type type_2 = { field_1: string
; field_3: string
};;
let _ =
let variable_1 = { field_1 = "test"
; field_2 = "test"
}
in print_endline variable_1.field_2;;
ocamlc ./test.ml
File "./test.ml", line 10, characters 19-72:
The record field label field_2 belongs to the type type_1
but is here mixed with labels of type type_2
вопрос: как побороть? раздать разные имена конечно вариант, но...
--
-- via knode --
Posted via RSDN NNTP Server 2.1 beta
подправлена разметка — Кодт
Здравствуйте, _rasta, Вы писали:
_>[ocaml]
_>type type_1 = { field_1: string
_> ; field_2: string
_> };;
_>type type_2 = { field_1: string
_> ; field_3: string
_> };;
можно так:
module Type1 = struct
type t = { field1 : string; field2 : string }
end
module Type2 = struct
type t = { field1 : int; field2 : int }
end
let foo = ( {Type1.field1 = "qqq"; field2 = "www"},
{Type2.field1 = 42; field2 = 777 } )