2013-10-09 3 views
2

문제가 있습니다. 6 개의 인수를 취하여 최소 값을 반환하는 minimum6이라는 함수를 작성합니다. 예 : minimum6 10 20 30 40 50 = 10중첩 함수 사용

(60)이 지금까지 가지고 무엇인가

하자를 A B = 최소 다음 < B A B의 다른 경우; 최소 6 x1 x2 x3 x4 x5 x6 = min (min (min (min x1 x2) x3) x4) x5) x6) ;; > 나는 언어에 새로 온 최초의 '10' 를 가리키는 'B', 내가 무엇을 했는가 -

그러나, 나는 '이 표현은 int 형이 있지만 표현은 유형의 예상'취득 잘못된? 함수에 함수를 사용했기 때문입니까?

+0

괄호에 몇 가지 문제가 있습니다. – seanmcl

+0

모든 값에 괄호를 사용해야하나요? –

+0

4 (및 5) – seanmcl

답변

1

괄호에 문제가 있습니다. :)

더 일반적인 것을 할 수도 있습니다. 예 :

let rec list_min min = function 
    | [] -> min 
    | x::xs -> if x < min then list_min x xs else list_min min xs 

let min6 x1 .. x6 = list_min x1 [x2; ...; x6]