で無効です。免責事項:私は今日elispでハックし始めました。Elisp:変数としてのシンボルの値は、let *および(lambda)
私は本当に私は、次のエラーを取得しています何を疑問に思って:次のコードで
Symbol's value as variable is void: response
:
(let* ((response (cons 'dict nil)))
(nrepl-request:eval
code
(lambda (resp)
(print resp (get-buffer "*sub-process*"))
(nrepl--merge response resp))
(cider-current-connection)
(cider-current-session)))
私の理解では、呼び出されたときにresponse
がlet*
条項の範囲にあることですラムダ関数から...しかし明らかにそれはそうではありません。
This also seem to be working in this code
だから私は少し私はこのエラーを取得していますし、私はそれについて何をすべき理由について失われています。
動的バインディングでは、あなたのラムダが*定義されているときに 'response'の値がバインドされますが、そのスコープ内で関数が呼び出されていないことは明らかです。もちろん他の場所に縛られていない限り)。 – phils