Hatena::Groupcadr

kozima の日記

2010-03-30

loop でうまく書けない件の代替案?

| 21:43

http://cadr.g.hatena.ne.jp/lkozima/20100327/1269692521 の続き。

こうやればきちんと動いてコードの見た目ももう少しそれらしくなる気がして書いてみました。

(loop for x in list and i from 0
  as y = (if (a-test-which-often-returns-false x)
             (a-very-slow-function x)
             dummy)
  unless (eql y dummy)
  collect (compute-the-result i y)
  and do (a-dirty-stuff y))

やっぱりわかりやすくはないかもしれません。