2016-09-19 3 views
0

방금 ​​Ocaml을 집어 들었고 재귀 적 반복과 그 모든 것을 조사했습니다. 튜플을 반복하려고했지만 난리를 쳤다. 튜플을 반복하면서 각 요소를 절반으로 나누고 싶다면 어떻게 할 것인가? 특히 튜플의 크기를 알 수 없지만 단순히 변수로 주어진다면? 이제 내가 할 수있는 2 요소 튜플이라는 것을 알았다면Ocaml- 튜플을 통해 반복하기

let rec divide n = match with (a,b) -> ... 

그래서 여기에 내가 붙어있다. 어떻게하면 그 논쟁과 일치시킬 수 있을까요? 튜플은 한번 생성되면 수정되어서 제 위치에서 수정할 수 없다는 것을 압니다. 그렇다면 원래 튜플의 요소를 포함하는 새로운 튜플을 만드는 방법/2. 어떤 도움을 주셔서 감사합니다.

+4

나는 Ocaml에 대해 100 % 확신하지는 않지만, 밀접하게 관련된 언어 ML에서는 임의적 인 구조의 튜플에 대해 다형성 인 코드를 작성하는 것이 불가능합니다. 참조 : http://stackoverflow.com/q/14416900/4996248 –

답변

3

John Coleman은 정확합니다. 크기가 다른 튜플에 대해 다형성 인 OCaml 코드를 작성할 방법이 없습니다. 특정 크기의 튜플에 대해 작동하는 코드를 작성할 수 있습니다. 주어진 유형의 모든 값에 대해 작동하는 코드를 작성할 수도 있습니다.이 경우 튜플이 아닌 목록을 사용하게됩니다.

대부분의 경우 목록을 사용하여 코드를 작동시킬 수 있습니다.