1
SML에서 패턴 일치를 학습 중이므로!/b!를 계산하려면 fact_till (a,b)
함수를 작성하고 싶습니다. 예를 들어, fact_till (5,3)은 5 * 4 = 20을 리턴해야합니다.튜플의 패턴에 중복 변수가 있습니다.
fun fact_till t = case t of
(a,a) => 1
| (a,b) => a * fact_till(a-1,b)
을하지만 Error: duplicate variable in pattern(s): a
을 가지고 :
내 코드는 다음과 같습니다. 나는 SML이 (a,a)
패턴을 인식하지 못한다고 추정한다. 그렇다면이 패턴을 표현하는 올바른 방법은 무엇입니까?