タグ

2008年4月9日のブックマーク (2件)

  • Route 477(2008-04-09)

    ■ [scheme] 再帰の美しい使い方 Webアプリなどで予測されにくいユニークなIDを作るとき、 「適当な乱数からIDを作って、万一被っていたら再試行する」という コードを書きますよね。 で、C言語とかだと for(;;){ } とか、do{ }while(); を使うんだけど、 Gaucheに乗っていた方法がこちら。 (define (make-session) (let1 sid (random-integer *max-id*) (cond [(hash-table-get *sessions* sid #f) (make-session)] ; 被ってたら、再試行する [else (let1 sess (make <session> :sid sid) ; さもなくば (hash-table-put! *sessions* sid sess) sess)]))) ここで再帰で

    Route 477(2008-04-09)
    sshi
    sshi 2008/04/09
    何も考えずに書くと、こうなる、、ような、、、
  • ページがありません

    このURLは現在使われておりません。 5秒後にホームページへ自動的にジャンプします。 ジャンプしない場合はURLをクリックしてください。 http://www.syu-ta.com/

    sshi
    sshi 2008/04/09
    たんに昔と今ではゲームに求められるものが違ってる、っていってるだけにみえる。