1

HtDPの演習 35.4.2では、GUI を実装し、コールバック関数を呼び出す「削除」というボタンを用意しました。ここにあります:

(define (cb-remove x)
  ((lambda (name result)
     (cond
       [(number? result) (remove-name name address-book)]
       [else (draw-message msg "Not found")]))
   (string->symbol (text-contents label-name))
   (lookup (string->symbol (text-contents label-name)) address-book)))

これを実行すると、次のメッセージが表示されますbutton-callback: result of type <Boolean> expected, your function produced #<set!-result>。問題はset!、アドレス帳を変更するために電話しなければならないことです。ただし、 is の結果set!(void)、ブール型と組み合わせることはできません。この問題を回避するにはどうすればよいですか? 洞察をありがとう。

4

1 に答える 1

2

単純:

(begin (set! foo bar) #t)
于 2011-02-01T03:54:39.587 に答える