■2004-05-15
* [Perl] whileの戻り値は?
Perlではサブルーチンの最後に評価された式が戻り値となります。これは私も良く知っていることでした。ところが、先日あるモジュールを弄っていたら、ドキュメントでは真偽を返すとなっているメソッドが何をやっても偽を返します。そこでソースをみると、subブロックの最後にwhileがあります。どうやらwhileの評価値が偽であるようです。どうして?
上記リンク先で述べられているように、whileのループを抜けるのは条件式が偽のときです。だからwhileの評価は常に偽になるわけです。逆にuntilは常に真。言われてみればなるほど。
* [今月のAcme] Acme::Colour
今月のAcme(というほど定期的ではないですが)。Acme::Colourというのが更新されていたので。
$c = Acme::Colour->new("red"); $c->add("green"); print $c->colour; # yellow $c = Acme::Colour->new("cyan"); $c->mix("magenta"); print $c->colour; # blue
というわけで、可読性の高い表現で加法混色や減法混色ができると。このしょうもなさが素敵。(参考)
* [CGI] Similarity Search
こちらからtDiary用のSimilarity Searchプラグインを導入してみました。なかなか思うとおりに動作してくれなかったり、typoがあったりしたので少し修正。うまく動いてくれました。
このプラグインに習ってFSWiki用SimilaritySearchプラグインにもキャッシュ機能をつけてみました。