I以下のプログラムを持っている:スキーム - 「アプリケーション:ないプロシージャ」エラー
(define (myFunc x e)
(let loop ((n x) (m e) (acc 2))
(cond
((eqv? (abs (- (* (expt -1 (+ acc 1)) (/ (expt n acc) acc)) (* (expt -1 (+ acc 1)) (/ (expt n (- acc 1)) (- acc 1))))) m)
(begin (display "result is: ") (display acc) #f))
(else
(loop (n) (m) (+ acc 1))
))
))
あなたは等価性をチェック、それが値を計算していることがわかりますし、それが成功しない場合、それはループを繰り返します。私はそれを実行したときに
はしかし、私はエラーを取得:
application: not a procedure;
expected a procedure that can be applied to arguments
given: 0.5
arguments...: [none]
(n)はループに私の「他の」ステートメントの後の部分を指差します。 なぜこれが起こっていますか?
ありがとうございます!
私はちょうどかっこなしでmとnとループを呼び出す必要があると思いますか? – Gambit2007
正確に。 :-) :-) –