2016-04-12 7 views
0

ich versuche, den Code unten eine rekursive von i zu tun -> 0 und Ausgang Leerraumocaml Funktion angewendet zu viele Argumente

let print_tab fmt i = 
    match i with 
    | 0 -> put fmt "%s" "" 
    | _ -> put fmt "%s" " " ; print_tab fmt (i-1) 

aber es nicht funktioniert, zeigen die Fehler wie unten

Error: This function is applied to too many arguments; 
maybe you forgot a `;' 

ich versuche, haben einen anderen Code

let print_tab fmt = function 
    | 0 -> put fmt "%s" "" 
    | j -> put fmt "%s" " " ; print_tab fmt (j-1) 

aber den gleichen Fehler, was ist los?

+0

Muss ich i = ref deklarieren? –

+0

Was ist die Funktion "Put"? – Thomash

Antwort

3

Der Fehler ist, dass Sie rec vergessen haben, so dass Ihre Funktion nicht rekursiv ist und versucht, eine zuvor definierte Version von print_tab zu verwenden.

+0

habe es, ich bin dumm –

+3

@ L.Leo bitte akzeptieren Sie die Lösung –

Verwandte Themen