2006-01-26
■ [scheme] Scheme:多値
関数から複数の値を返すことについて。
Cでは変数のアドレス(ポインタ)を渡すことで行う。
Rubyでは配列を返すこと(+多重代入)で行う。
Schemeでは「現在の継続に複数の値を渡す」ことで行う。
(values 1 2 3)のようにすると、関数から多値を返すことができる。valuesはR5RSで以下のように定義されている。
(define (values . things) (call-with-current-continuation (lambda (cont) (apply cont things))))
call/ccを使って、現在の継続(cont)に複数の値を渡す、と。
多値を受け取る側はrecieveとか、let-values等の構文/マクロを使う。
■ [javascript] VenkmanとFireBug
どう違うの?とか思ってたけど入れてみたら全然違った。
Venkmanはデバッガ。ブレークポイントを設定してステップ実行とか。
FireBugはJSコンソールとDOMインスペクタをくっつけたようなもの。 エラーを画面下に表示してくれる。 あとXMLHttpRequestの送受信データを表示したりとか。