반환을 위해 줄이기 전에 결과의 모든 요소를 기록 (지금 인쇄)하고 싶습니다. 그것을 성취 할 수있는 방법이 있습니까? let calculate ~size_of_experiment:s ~number_of_buckets:n =
let results = run_experiments s n in
List.iter (fun x -> print
원시 함수로 간단한 ocaml 실행 파일을 빌드하려고합니다. 다음은 ocaml 코드 minimal.ml입니다. 두 개의 int를 사용하고 int를 반환하는 외부 함수를 정의합니다. 여기 external add: int -> int -> int = "add";;
Printf.printf "%d\n" (add 4 7);;
그리고는 minimal.c #d
내 _oasis 파일에 몇 가지 플래그 (S, 인라인 (20), nodynlink)를 추가하고 싶습니다하지만 난 컴파일 오류가 발생합니다 : 당신이를 추가하는 방법 궁금 AlphaFeatures: ocamlbuild_more_args
XOCamlbuildExtraArgs: "-cflags '-S -inline 20'"
합니다. 다소 긴 오류 : nod
"Objective-CAML로 애플리케이션 개발"의 107 페이지에있는 예제를 따르고 있습니다. type 'a v = Imm of 'a| Def of (unit -> 'a)
는 이제 생성자 유형 Def이 지연 평가를 적용하는 방법을 이해하려고? f의 매개 변수가 (unit -> 'a) 인 것은 무엇을 의미합니까?
나는 OCaml 초급자이다. 나는 20 번 문자를 반복하는 함수를 만들고 싶다. 이것은 기능이지만 오류로 인해 작동하지 않습니다. let string20 s =
let n = 20 in
s^string20 s (n - 1);;
string20 "u";;
나는 하나 개의 매개 변수를이 # string20 "u"
- : string
I는 int x과리스트를 얻어이 재귀 함수를 만들려고하고리스트에서 요소의 제 x 양 제거있어 일치 : let rec nthcdr int_t list_t =
match int_t with
| 0 -> list_t
| _ -> (match list_t with
| [] -> []
| h::tail -> nth
왜 배열과 문자열 색인은 미묘하게 다른 구문을 사용합니까? 예. let _: int = [|1;2;3|].(0)
let _: char = "123".[0]
I (및 기타)는 이것이 이상하고 혼란 스럽다고 생각합니다. OCaml의 플로트 추가에 대한 정수 추가에 대한 + 및 +.를 사용하는 것이 정확히 같은 이유로
중첩 된 레코드로 기능 업데이트 구문 { record with key = value }을 사용하려면 ppx 확장 또는 유사 기능을 사용하는 방법이 있습니까? 예를 들어, 다음 예제 프로그램에서는 필자가 "내부"레코드를 대상으로하고 싶을 때 가장 바깥 쪽 레코드 만 기능적으로 업데이트하고 있습니다. type outer = {
a : float;
그래서 모든 짝수가 앞에 있고 확률이 모두 뒤쪽에 있도록이 정수 목록을 정렬하려고합니다. 나는 지금 대부분의 경우에 효과가있는 프로그램을 가지고 있지만 그것이 원하지 않는 내 확률 수치의 순서를 바꾸어 놓습니다. 예 : 입력 [1; 2; 3; 4; 5; 6]을 얻고 싶습니다. [2; 4; 6; 1; 3; 5]가 되겠지만, 나는 [2; 4; 6; 5; 3 ;