리스트로 변환하고 싶은 (int * string) 튜플을 가지고 있습니다. 튜플은 (N, E) 형태이며, N은 E 요소의 발생 횟수입니다. 함수는 N 발생 횟수가 N 인 목록을 반환해야합니다. 예제는 다음과 같습니다. 이 함수가 tuple_decode라고 가정 해 봅시다. 나는 다음과 같은 오류가이 기능을 컴파일 할 때튜플을리스트로 변환하는 Ocaml 함수
let tuple_decode acc (n,elem) =
let add_one_elem i =
match i with
0 -> acc
| i -> elem :: acc ; add_one_elem (i-1) (* Line 184 *)
in
add_one_elem n
;;
을 다음과 같이
tuple_decode (1, "A") -> ["A"]
tuple_decode (2,"B") -> ["B";"B"]
tuple_decode (4,"C") - > ["C";"C";"C";"C"]
tuple_decode 기능입니다.
File "all_code.ml", line 184, characters 11-22:
Warning 10: this expression should have type unit.
File "all_code.ml", line 184, characters 25-37:
Error: Unbound value add_one_elem
누군가이 오류와 경고를받는 이유를 알아낼 수 있습니까?
감사 Puneet
을, S1' 다음 결과 unit''유형이없는 '경우, 경고 부분에 대한 것을주의하는 것이 재미있다 버려졌습니다. 따라서 누산기를 함수의 인수로 전달하지 않으면 재귀 호출은 쓸모가 없습니다. – Thomas
감사합니다. 답변을 명확하게하기 위해 제안을 추가했습니다. – pad