トップ «前の日記(■2005-04-08) 最新 次の日記(■2005-04-17)» 編集

どんぞこ日誌

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|

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


■2005-04-13

* [Perl] JSONをCPANにB!

 ここしばらく調子悪くて作業ができませんでしたが、やっとJSONモジュールをCPANにアップしました。次バージョンでJSON-RPCもパッケージに含む予定。

 0.91でJSONRPCも含めました。

* [Perl][メモ] autoboxB!

  以前Scalar::Propertiesで一瞬だけ触れたautoboxのバージョンがあがって、Perl5.8.1にパッチをあてなくても利用できるようになりました。試したところautobox 1.02がPerl5.8.0 (linux)で入りました。
  autoboxを使うと、スカラー値やハッシュリファレンス、リストリファレンス、コードリファレンスからメソッドを呼び出せるようになります。例えば3.1415はSCALARという型に属して、my $three = 3.1415->int;などとできるように(後述のようにautoboxだけではできません)。また自作のクラスをSCALAR, ARRAY, HASH, CODEの各型として設定可能(autoboxはスコープレキシカルなプラグマなので途中で変更したり、no autoboxできます。他に四つの型全てに適用されるDEFAULT, undefに対するUNDEF, デバッグ用?のREPORTなどがあります。
  ただし、autobox自体はメソッドを提供しないので、autobox::Coreのようなモジュールが必要になります。autobox::Coreは多くの組み込みの関数(さらにHash::Utilからlock_keysなども導入)やPerl6で導入されるいくつかのものをメソッドとして利用可能にします。ただ、ARRAY型のforがバグってるぽいです(最後の要素にアクセスしない)。

 use autobox;
 use autobox::Core;
 
 "Hello World."->length->print; # 12を出力
 
 [12,51,29,54,67,98,23]->sort
                       ->reverse
                       ->print;
     # 98 67 54 51 29 23 12
 
 $array = [1..10];
 $array->join(',')->print;

  そうするとJSON::*とかつくってあげて

 {
   use autobox DEFAULT => 'JSON::';
 
   my $js = {foo => 'bar'}->toJson();
   # {"foo":"bar"}
 }

とか出来そうですね。

* [Perl][メモ] CGI::ApplicationをSledgeっぽく使うラッパーB!

 朝倉さんのところでCGI::ApplicationをSledgeっぽく使うラッパーって需要があるのかな?というのが。 似たようなことをCGI::Prototypeでやろうとしていたので、これは大変有り難そうです。

本日のツッコミ(全2件) [ツッコミを入れる]
_ ねね (■2005-04-14 06:11)

花粉でしたか?

_ まかまか (■2005-04-14 23:15)

いえ、花粉ではなくて、飲み過ぎで……

[]