나는 for : int * int * (int -> unit) -> unit
기능을 찾고 있습니다. 숫자 목록을 인쇄하려면이 코드가 필요합니다. 더 구체적으로 말해서, 나는 f num = print ((Int.toString num)^"\n")
함수를 가지고있다. 지금까지 이걸 가지고 있습니다 :Int 단위 유형 목록에
fun for(from,to,f)=
if from=to then [f(to)]
else f(from)::for(from+1,to,f)
이 경우 반환 유형은 unit list
입니다. 이전 결과를 추가하지 않고 어떻게 함수를 호출 할 수 있습니까?
어 그리 게이터와 함께 내부 기능을 사용 하시겠습니까? – Ashalynd
나는 그것을 시험해 보았다. 여전히 각 숫자에 f를 적용하고 있으며 이전 결과에 계속 추가되므로 단위 목록 유형이 제공됩니다. 아니면 뭔가 다른 의미가 있니? – Krishna
나는 다음과 같은 것을 의미했다 : (나는 sml에서 프로가 아니지만 모든 func 언어에서 똑같은 방식으로 작동한다.) 'fun forinner (from, to, f, acc) = from = ~ then acc else forinner (from 1, to, f, f (from) :: acc) ' – Ashalynd