トップ «前の日記(■2004-05-11) 最新 次の日記(■2004-05-16)» 編集

どんぞこ日誌

2003|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|07|08|12|
2007|01|04|08|12|
2008|01|02|03|04|06|07|08|10|11|12|
2009|01|02|04|05|06|07|08|09|11|12|
2010|01|03|04|07|08|10|11|12|
2011|01|02|03|04|05|06|07|08|10|12|
2012|01|02|03|05|06|07|08|09|10|
2013|01|02|07|08|09|
2014|08|09|
2015|08|
2016|06|07|12|
2017|01|03|08|
2018|03|
2022|03|
2023|03|
2024|02|07|10|

同人関連(どんぞこ楽屋) | 旧い雑文   


■2004-05-15

* [Perl] whileの戻り値は?B!

 Perlではサブルーチンの最後に評価された式が戻り値となります。これは私も良く知っていることでした。ところが、先日あるモジュールを弄っていたら、ドキュメントでは真偽を返すとなっているメソッドが何をやっても偽を返します。そこでソースをみると、subブロックの最後にwhileがあります。どうやらwhileの評価値が偽であるようです。どうして?

Re: [FWP] A Perl curiosity

 上記リンク先で述べられているように、whileのループを抜けるのは条件式が偽のときです。だからwhileの評価は常に偽になるわけです。逆にuntilは常に真。言われてみればなるほど。

* [今月のAcme] Acme::ColourB!

  今月の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 SearchB!

 こちらからtDiary用のSimilarity Searchプラグインを導入してみました。なかなか思うとおりに動作してくれなかったり、typoがあったりしたので少し修正。うまく動いてくれました。

 このプラグインに習ってFSWiki用SimilaritySearchプラグインにもキャッシュ機能をつけてみました。

[]