2017-09-11 25 views
0

https://repl.it/languages/schemeを使用して、私のスキームコードをコンパイルしていますが、関数呼び出しエラーが発生しています。機能は次のとおりです。関数呼び出しエラースキーム

(define (bloop x) 
     (cond 
     ((null? x) 0) 
     ((not (list? (car x))) 
      (+ 1 (bloop (cdr x)))) 
     ((eq? x ’()) (bloop (car x))))) 

は、私のような何か渡したい:

(bloop '((1) 2 3 4)) 

をしかし、私は得る:

Error: execute: unbound symbol: "’" 

任意のコメント、質問や懸念が認識されます。ラインで

+0

'bloop'のポイントのいくつか:1.'(null?x) 'と'(eq?x '()) 'は同じことをチェックします。 2.いくつかの(ほとんどの)Schemeの実装で 'cond'が' else'節を持つ必要があります。 3. 'x'が数字の場合はどうなりますか? – mobiuseng

答えて

2

((eq? x ’()) (bloop (car x))))) 

シンボルはASCIIの引用'ではありません。

PS。スキームjargon bloop手順です。 関数は "sin(x)"のような数学的なものですが、(sin x)はこの関数を実装する手続きです。

+0

私は、琵琶湖スキームは "機能"を "手続き"と呼んでいることがわかります。異端者たち! :) – mobiuseng

関連する問題