Also hier ist der Code:
%Vor%und ich habe diesen Fehler nach "Berechnung gestoppt". wurde angezeigt. wie unten:
100017 100018 100019 * 54 Berechnung gestoppt. . . Anwendung: keine Prozedur; erwartet eine Prozedur, die auf Argumente angewendet werden kann gegeben: # & lt; void & gt; Argumente ...:
# & lt; void & gt;
Sie beabsichtigen, zwei Ausdrücke innerhalb des folgenden Teils von if
auszuführen, aber if
lässt nur einen Ausdruck in der Folge und einen in der Alternative zu.
Das Umschließen beider Ausdrücke zwischen Klammern (wie Sie es taten) wird nicht funktionieren: der resultierende Ausdruck wird als eine Funktionsanwendung des ersten Ausdrucks mit dem zweiten Ausdruck als sein Argument ausgewertet, was den Fehler "application: not a procedure; expected a procedure that can be applied to arguments ..."
, weil% co_de erzeugt % wird nicht als Prozedur ausgewertet, sondern als (time-prime-test n)
.
Sie können das Problem beheben, indem Sie entweder #<void>
:
Oder ein cond
:
Tags und Links recursion scheme if-statement racket