2017-10-14 11 views

답변

1

유형 :

a’ * a’ * int -> bool 

함수는 타입 int 형 제 3 '의 또 두번째 형태'첫 번째이다 세 인자를 의미한다.

귀하의 정의 :

fun f1 (x,y,z) = z<5 ; 

그것이 x의 유형을 제한하기 위해 지금 튜플을 소요하기 때문에 올바른 방법이며, y는 동일하게 당신이 쓸 수 :

fun f1 (x :'a ,y :'a ,z) = z<5 ; 
1

명시 적 형식 주석을 피하려면 xy을 동일한 형식으로 만드는 가장 간단한 방법은 두 가지를 함수에서 반환하지만 다른 상황에서 반환하는 것입니다.
실제 예제 :

- fun f (x,y,z) = if z < 0 then x else y; 
val f = fn : 'a * 'a * int -> 'a 

합니다 (bool 결과 유형이 문제 설명에서 언급되지 않기 때문에, 나는 그냥 당신이 z < 5 원래 문제의 일부 반환의 결과입니다 있으리라 믿고있어.)