loop マクロすげー。

どうもりんこです。
UK-0.7芯の黒インクが空になったので,新たに換装して使っていますが,
非常に安定感があります。
逆に青は,それほどなめらかではない感じです。
それでも,黒の安定感は,スタイルフィットジェスト芯の黒に比べたら
ダンチで,そういえば,おひきのダンチっていたなぁ,哲さん,みたいな。
そう,その安定感はダンチで,精神衛生上非常によきかな。
ちなみに,無加工でDr.Grip4+1に入りますが,ちょっと太いらしく,
もしかしたら何かしらの悪影響が出るかもしれません。

loop マクロを while break みたいに使えることを覚えた!

初めての出会いは,auto-complete.el のソースを眺めていたとき。
そのときの僕は,異形のモノをみるような感じの顔をしていたと思う。
経て。
while (true) { ... if (cond) { break; }}
みたいなことをしたくて,私は throw, catch だっけ?を使っていたのですが,
何か別の手段があるはずだと探していたのです。
そして,感動の再会。


ちなみに2重ループから飛び出でジャジャジャジャーンなときは,
外っ側のループに名前をつけて,それを指定して return-from します。

;; http://www.gigamonkeys.com/book/loop-for-black-belts.html から引用。
(loop named outer for list in lists do
     (loop for item in list do ;; do がつく
          (if (what-i-am-looking-for-p item)
            ;; return ではない。return-from を括弧で囲まないとね。
            (return-from outer item))))

めっけもの

でですよ。Web を徘徊していたら,
Practical Common Lisp という本が無料で公開されているのを発見!
洋書ですが,loop マクロについても詳しく書かれているようです。
wget でごっそりいって,w3m でローカルから閲覧が理想かしら。
http://www.gigamonkeys.com/book/


Amazon で買ったら,5,6千円もしまっせ。

Practical Common Lisp (Books for Professionals by Professionals)
Peter Seibel
Apress
売り上げランキング: 59297


時間を見つけて読んでみよう。
ぱっと見,演習問題みたいなのがないのが残念だね。
けど無料で公開してくれていることに感謝!
Thanks so much for sharing your nice book for free!