2010-06-13 6 views
5

다른 파일에 정의한 OCaml 레코드를 어떻게 사용할 수 있습니까?OCaml 레코드에 접근하기

type r = { i: int; j: int; };

와 나는 R 레코드를 사용하고자하는 파일 b.ml : 나는이 R 레코드를 정의하는 파일 a.ml을 가지고 예를 들어 보겠습니다. 뭔가가 이런 식으로 :

let s = {i = 12; j = 15;} 명확하게 작동하지 않습니다 - 나는 그것이 레코드가 정의 된 모듈에 액세스하는 것과 관련이 있다고 알고 있지만 아직 구문을 올바르게 얻지 못했습니다. 만약 어느 open A 각각 A.iA.jij으로 (이에 범위로 모든 정의를 데리고) 또는 참조 할 수 있도록 a.ml 정의

답변

8

유형 및 값 모듈 A. 산다.

+0

Ah, hmm, ok ... 내가 이런 식으로 일하는 것이 아니기 때문에 : a.ml이 레코드 정의를 보유하게 될 것입니다 .mli는 레코드와 관련된 내용을 보유하지 않을 것이며 b.ml에서 레코드에 액세스하려고했습니다. 그런 경우 어떻게 할 것인가? 인터페이스에서 레코드를 정의 할 것인가? 어느 쪽이든, 대답 주셔서 감사합니다. – hyperboreean

+2

예. 다른 파일에서 사용하기위한 형식 정의는 인터페이스의 일부이므로 mli 파일에 있어야합니다 (있는 경우). – sepp2k