뺄셈 우리가 수학에 내장 연산자로 제공되지 않습니다 가지고있는 것처럼 예를 들어. 그러나 자신을 정의 할 수는 있습니다.
수학적으로는, 우리가 정의 말하기 다음과 같이 우리는 SML이 정의를 복제 할 수 있습니다
(f - g)(x) = f(x) - g(x)
:
f -- g
가 해당 기능을 생산하도록이 무엇
infix 5 --
fun f -- g = fn x => f x - g x
는 운영자, --
을 생산하고, 즉, x
이 주어진 f x - g x
인 함수.
-
연산자의 형식 모호함으로 인해 기본값은 'a -> int
기능을 뺄 수 있습니다. 귀하의 경우에 당신은 'a -> real
기능을 빼야 할 것입니다, 그래서 당신은 약간의 수정이 필요합니다 :이 --
- 연산자를 사용하는 경우
infix 5 --
fun f -- g = fn x => f x - g x : real
, 당신은 다음처럼 Area
함수를 정의 할 수 있습니다 :
를
val area = squareArea -- circleArea;
(SML 명명 규칙과 일치하도록 함수 이름의 첫 문자를 소문자로 만들었습니다.)