NAME
Pogo - Perl GOODS interface
SYNOPSIS
use Pogo;
$pogo = new Pogo 'sample.cfg'; # ¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÀܳ
$root = $pogo->root_tie; # ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Îroot¥Ï¥Ã¥·¥å¤Ø¤Î»²¾È¤òÆÀ¤ë
$root->{key1} = "string"; # ʸ»úÎó¤ò¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë³ÊǼ
$value = $root->{key1}; # $value ¤Ï "string"
$root->{key2} = [1,2,3]; # ÇÛÎó¤ò¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë³ÊǼ
$arrayref = $root->{key1}; # ¥Ç¡¼¥¿¥Ù¡¼¥¹Ãæ¤ÎÇÛÎó¤Ø¤Î»²¾È¤òÆÀ¤ë
$value = $root->{key2}->[0]; # $value ¤Ï 1
$root->{key3} = {a=>1,b=>2}; # ¥Ï¥Ã¥·¥å¤ò¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë³ÊǼ
$hashref = $root->{key3}; # ¥Ç¡¼¥¿¥Ù¡¼¥¹Ãæ¤Î¥Ï¥Ã¥·¥å¤Ø¤Î»²¾È¤òÆÀ¤ë
$value = $root->{key3}->{b}; # $value ¤Ï 2
$root->{key4} = new Pogo::Btree;# B¥Ä¥ê¡¼¥Ï¥Ã¥·¥å¤òºî¤ë
$hashref = $root->{key5}; # B¥Ä¥ê¡¼¤Ï¥Ï¥Ã¥·¥å¤È¤·¤Æ¥¢¥¯¥»¥¹¤Ç¤¤ë
$root->{key5} = new Pogo::Htree;# H¥Ä¥ê¡¼¥Ï¥Ã¥·¥å¤òºî¤ë
$hashref = $root->{key6}; # H¥Ä¥ê¡¼¤Ï¥Ï¥Ã¥·¥å¤È¤·¤Æ¥¢¥¯¥»¥¹¤Ç¤¤ë
$root->{key6} = new Aclass; # ¥ª¥Ö¥¸¥§¥¯¥È¤ò¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë³ÊǼ
$obj = $root->{key4}; # $obj ¤Ï¥Ç¡¼¥¿¥Ù¡¼¥¹Ãæ¤Î Aclass ¥ª¥Ö¥¸¥§¥¯¥È
DESCRIPTION
³µÍ×
Pogo ¤Ï GOODS (Generic Object Oriented Database System)¤Î Perl ¥¤¥ó¥¿ ¡¼¥Õ¥§¡¼¥¹¤Ç¤¹¡£Pogo ¤Ï Perl ¤Î¥¹¥«¥é¤äÇÛÎó¤ä¥Ï¥Ã¥·¥å¤ä¥ª¥Ö¥¸¥§¥¯¥È¤ò ¥À¥¤¥ì¥¯¥È¤Ë¥Ç¡¼¥¿¥Ù¡¼¥¹¥ª¥Ö¥¸¥§¥¯¥È¤ËÂбþ¤Å¤±¤Þ¤¹¡£Pogo ¤Ë¤Ï¼¡¤Î¥Ç¡¼ ¥¿¥¿¥¤¥×¤¬¤¢¤ê¤Þ¤¹¡£
- ¥¹¥«¥é¡¼
- ÇÛÎó
- ¥Ï¥Ã¥·¥å
- H¥Ä¥ê¡¼ (¥Ï¥Ã¥·¥å¥¨¥ó¥È¥êɽ¤¬B¥Ä¥ê¡¼¤È¤Ê¤Ã¤Æ¤¤¤ë¥Ï¥Ã¥·¥å)
- B¥Ä¥ê¡¼
- N¥Ä¥ê¡¼¡Ê¥¡¼¤¬À°¿ôÃͤÎB¥Ä¥ê¡¼¡Ë
¥¹¥«¥é¡¼¥Ç¡¼¥¿¤ä½¸¹ç¥¿¥¤¥×¥Ç¡¼¥¿¤ÎÍ×ÁǤÎÃͤϡ¢Ê¸»úÎ󤫡¢Â¾¤Î¥Ç¡¼¥¿¤Ø¤Î »²¾È¤Ç¤¹¡£Pogo ¤Ï Perl ¤Î tie ¤Î»ÅÁȤߤòÍøÍѤ·¤Æ¥Ç¡¼¥¿¥Ù¡¼¥¹Ãæ¤Î±Ê³¥Ç ¡¼¥¿¤Ø¤ÎÆ©²áŪ¤Ê¥¢¥¯¥»¥¹ÊýË¡¤òÄ󶡤·¤Þ¤¹¡£¥Ç¡¼¥¿¥Ù¡¼¥¹Ãæ¤Î³Æ¥Ç¡¼¥¿¤ÏÆâ ÉôŪ¤Ë¥¯¥é¥¹Ì¾¤ò»ý¤Æ¤ë¤Î¤Ç¡¢Perl ¤Î¥ª¥Ö¥¸¥§¥¯¥È¡Ê¤Ä¤Þ¤ê¥¯¥é¥¹Ì¾¤Ç bless ¤µ¤ì¤¿»²¾È¡Ë¤ò¥Ç¡¼¥¿¥Ù¡¼¥¹Ãæ¤Ë³ÊǼ¤Ç¤¤Þ¤¹¡£
GOODS ¥µ¡¼¥Ð¡¼
Pogo ¤Î¥Ù¡¼¥¹¤È¤Ê¤Ã¤Æ¤¤¤ë GOODS ¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¥µ¡¼¥Ð¡¼·¿¤Î¥Ç¡¼¥¿¥Ù¡¼ ¥¹¤Ç¤¹¡£Pogo ¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢Æ±¤¸¥Þ¥·¥ó¾å¤« TCP/IP ¤Ç¤Ä¤Ê¤¬¤Ã¤¿ ¾¤Î¥Þ¥·¥ó¾å¤ÇÆ°ºîÃæ¤Î¡¢GOODS ¥µ¡¼¥Ð¡¼¥×¥í¥»¥¹¤òɬÍפȤ·¤Þ¤¹¡£GOODS ¥µ ¡¼¥Ð¡¼¤Î¥×¥í¥°¥é¥à¤Ï¡Ögoodsrv¡×¤È¤¤¤¦Ì¾Á°¤Ç¡¢/usr/local/goods/bin/ ¤Ë ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¡£Pogo ¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤È¤½¤ì¤ËÂбþ¤¹¤ë goodsrv ¤Ï¤ª¸ß¤¤¤ËÄÌ¿®¤¹¤ë¤¿¤á¤ËƱ¤¸ TCP ¥Ý¡¼¥È¤ò»È¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£¤½¤Î¤¿¤á ¤Ëξ¼Ô¤Ï¡¢goodsrv ¤Î¥Û¥¹¥È̾¤È TCP ¥Ý¡¼¥ÈÈÖ¹æ¤òµºÜ¤·¤¿Æ±¤¸ÀßÄê¥Õ¥¡¥¤ ¥ë¤ò»²¾È¤·¤Þ¤¹¡£ÀßÄê¥Õ¥¡¥¤¥ë¤Ï¡Ö.cfg¡×¤Î³ÈÄ¥»Ò¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¥í ¡¼¥«¥ë¥Þ¥·¥ó¾å¤Î goodsrv ¤ËÂФ¹¤ëŵ·¿Åª¤ÊÀßÄê¥Õ¥¡¥¤¥ë¤Ï¼¡¤Î¤è¤¦¤ÊÆâÍÆ ¤Ë¤Ê¤ê¤Þ¤¹¡£
1
0: localhost:6100
£±¹ÔÌܤΡÖ1¡×¤Ï¤³¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤¬°ì¤Ä¤Î goodsrv ¤ò»È¤¦¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹ ¡ÊÆó¤Ä°Ê¾å»È¤¦¤³¤È¤â²Äǽ¤Ç¤¹¤¬ Pogo ¤Ç¤Ï°ì¤Ä¤·¤«»È¤¤¤Þ¤»¤ó¡Ë¡£Æó¹ÔÌܤΠ¡Ö0: localhost:6100¡×¤Ï¡¢°ì¤ÄÌܤΠgoodsrv ¤¬¡¢localhost ¤Ë¤¢¤Ã¤Æ¡¢¥Ý¡¼ ¥ÈÈÖ¹æ6100¤ò»È¤¦¤³¤È¤ò°ÕÌ£¤·¤Æ¤¤¤Þ¤¹¡£
¤³¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤¬¡¢¡Ötest.cfg¡×¤È¤·¤Æºî¤é¤ì¤Æ¤¤¤ë¤Ê¤é¤Ð¡¢goodsrv¤Ï¼¡¤Î¤è¤¦¤Ëµ¯Æ°¤Ç¤¤Þ¤¹¡£
goodsrv test
¤¹¤ë¤È¡¢goodsrv ¤Ï¼¡¤Ë¼¨¤¹°ìÁȤΥǡ¼¥¿¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£¤³¤ì ¤é¤Î¥Õ¥¡¥¤¥ë¤òºï½ü¤·¤¿¤êľÀÜÊÔ½¸¤·¤¿¤ê¤ÏÀäÂФˤ·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£
test.his
test.idx
test.log
test.map
test.odb
µ¯Æ°¤·¤¿ goodsrv ¤Ï¥³¥ó¥½¡¼¥ë¤«¤é¤Î¥³¥Þ¥ó¥ÉÆþÎϤòÂÔ¤Á¤Ä¤Ä¡¢»ØÄꤵ¤ì¤¿ TCP ¥Ý¡¼¥È¤òÄ̤¸¤Æ¥Ç¡¼¥¿¥Ù¡¼¥¹¥µ¡¼¥Ó¥¹¤òÄ󶡤·¤Þ¤¹¡£¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ¡¢ ¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÅý·×¾ðÊó¤ò¸«¤¿¤ê¡¢¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¼è¤Ã¤¿¤ê¤Ç¤¤Þ¤¹¡£GOODS ¤Î readme.htm ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
¼ÂÍѾå¤Ï¡¢goodsrv ¤Ï¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¥×¥í¥»¥¹¤È¤·¤Æµ¯Æ°¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ë ¤Ç¤·¤ç¤¦¡£Pogo ¤Ï¡¢goodsrv ¤ò¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Çµ¯Æ°¤¹¤ë¤¿¤á¤È¡¢¤½¤Î goodsrv ¤Ë¥³¥Þ¥ó¥É¤òÁ÷¤ë¤¿¤á¤Î¡¢Æó¤Ä¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¥¹¥¯¥ê¥×¥È¤òÍÑ°Õ ¤·¤Æ¤¤¤Þ¤¹¡£goodsrv ¤ò¡¢test.cfg ¤Ë½¾¤Ã¤Æµ¯Æ°¤¹¤ë¤Ë¤Ï¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£
startgoodsrv test &
¤³¤Î¾ì¹ç¡¢goodsrv¤Î²èÌ̽ÐÎϤÏtest.goodsrv.log¤ËÊݸ¤µ¤ì¤Þ¤¹¡£ goodsrv¤ò½ªÎ»¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£
cmdgoodsrv test exit
tie¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹
- Àܳ
-
¤Þ¤ººÇ½é¤Ë¡¢¼Â¹ÔÃæ¤ÎGOODS¥µ¡¼¥Ð¡¼¤ËÀܳ¤·¤Þ¤¹¡£
$pogo = new Pogo $cfgfilename;
$cfgfilename ¤Ï GOODS ¥µ¡¼¥Ð¡¼¤ò»ØÄꤹ¤ëÀßÄê¥Õ¥¡¥¤¥ë̾¤Ç¤¹¡£¤³¤ì¤ÇÆÀ¤é ¤ì¤¿ Pogo ¥ª¥Ö¥¸¥§¥¯¥È¤Ï°Ê²¼¤Ç»ÈÍѤ·¤Þ¤¹¡£
- ¥ë¡¼¥È¤òÆÀ¤ë
-
¼¡¤Ë¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹Ãæ¤Î¥ë¡¼¥ÈB¥Ä¥ê¡¼¤Ø¤Î»²¾È¤òÆÀ¤Þ¤¹¡£
$root = $pogo->root_tie;
¥Î¡¼¥È¡§GOODS ¥Ç¡¼¥¿¥Ù¡¼¥¹Ãæ¤Î±Ê³¥Ç¡¼¥¿¤Ï¡¢É¬¤ºÂ¾¤Î±Ê³¥Ç¡¼¥¿¤«¤é»²¾È ¤µ¤ì¤Æ¤¤¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£¤â¤·¤¢¤ë¥Ç¡¼¥¿¤¬¤É¤Î±Ê³¥Ç¡¼¥¿¤«¤é¤â»²¾È¤µ ¤ì¤Ê¤¯¤Ê¤ë¤È¡¢¤½¤Î¥Ç¡¼¥¿¤Ï GOODS ¤Î¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¥·¥¹¥Æ¥à¤Ë¤è¤Ã ¤Æ²ó¼ý¤µ¤ì¤Þ¤¹¡£¤³¤Î¤³¤È¤«¤é¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¤Ï¾¯¤Ê¤¯¤È¤â°ì¤Ä¤Ï¡¢ÀäÂÐŪ ¤Ê±Ê³¥Ç¡¼¥¿¤¬¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤È¤¤¤¦¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£¤½¤ì¤¬¥ë¡¼¥È¤È¸Æ¤Ð ¤ì¤ë¥Ç¡¼¥¿¤Ç¤¹¡£Pogo ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥ë¡¼¥È¤Ï B ¥Ä¥ê¡¼¥Ç¡¼¥¿¤Ç¤¹¡£ root_tie ¥á¥½¥Ã¥É¤Ï¡¢¤³¤Î¥ë¡¼¥È B ¥Ä¥ê¡¼¥Ç¡¼¥¿¤Ø¤Î»²¾È¤òÊÖ¤·¤Þ¤¹¡£
- ʸ»úÎó¤È¿ôÃÍ
-
¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¥Ç¡¼¥¿¤ò³ÊǼ¤¹¤ë¤Ë¤Ï¡¢Ã±¤Ë Perl ¤Î¥Ç¡¼¥¿¤ò $root ¤òÄ̤¸ ¤ÆÂåÆþ¤¹¤ë¤À¤±¤Ç¤¹¡£$root ¤Ï¥Ï¥Ã¥·¥å»²¾È¤Ç¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
$root->{key} = "value"; $root->{pi} = 3.14;
¥Î¡¼¥È¡§Pogo ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ç¤Ï¡¢¥Ç¡¼¥¿ÃÍʸ»úÎó¤Ë¤Ï¥Ì¥ëʸ»ú¡Ê"\x00"¡Ë¤ò ´Þ¤à¤³¤È¤¬¤Ç¤¤Þ¤¹¤¬¡¢¥Ï¥Ã¥·¥å¥¡¼Ê¸»úÎó¤Ë¤Ï´Þ¤à¤³¤È¤¬¤Ç¤¤Þ¤»¤ó¡£
¥Î¡¼¥È¡§¿ôÃÍ3.14¤Ïʸ»úÎó"3.14"¤È¤·¤Æ³ÊǼ¤µ¤ì¤Þ¤¹¡£¤³¤Î¥Ç¡¼¥¿ÊÑ´¹¤Ï¥ª¡¼ ¥Ð¡¼¥Ø¥Ã¥É¤Ç¤¹¤Î¤Ç¡¢¾Íè¤Î Pogo ¤Ç¤ÏľÀÜ¿ôÃͤȤ·¤Æ³ÊǼ¤¹¤ë¤è¤¦¤Ë¤Ê¤ë¤Ç ¤·¤ç¤¦¡£
¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¥Ç¡¼¥¿¤ò³ÊǼ¤·¤¿¤é¡¢¤½¤ì¤ò¼è¤ê½Ð¤¹¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
$value = $root->{key}; # $value ¤Ï "value" $pi = $root->{pi}; # $pi ¤Ï "3.14"
- ÇÛÎó¤È¥Ï¥Ã¥·¥å
-
ÇÛÎó¤ä¥Ï¥Ã¥·¥å¤ò³ÊǼ¤¹¤ë¤Ë¤Ï¡¢»²¾È¤òÂåÆþ¤·¤Þ¤¹¡£
$root->{key1} = \@array; $root->{key2} = [1,2,3]; $root->{key3} = \%hash; $root->{key4} = {a=>1,b=>2,c=>3}; $root->{key5} = {a=>[1,2],b=>{c=>3,d=>4}};
¤³¤ÎÂåÆþ¤Ï¡¢»²¾È¤À¤±¤ò³ÊǼ¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢¤½¤ÎÇÛÎó¤ä¥Ï¥Ã¥·¥å¤ÎÃæÌ£¤â¥Ç ¡¼¥¿¥Ù¡¼¥¹¤Ë³ÊǼ¤µ¤ì¤ë¤È¤¤¤¦¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¥Ç¡¼¥¿¥Ù¡¼¥¹Ãæ¤Î±Ê ³¥Ç¡¼¥¿¤Ï¡¢Èó±Ê³¡Ê¤Ä¤Þ¤ê¥á¥â¥ê¾å¤Î¡Ë¥Ç¡¼¥¿¤ò»²¾È¤¹¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó ¤Î¤Ç¡£¤Ä¤Þ¤ê¡¢ÇÛÎó¤ä¥Ï¥Ã¥·¥å¤Î¥³¥Ô¡¼¤¬¥Ç¡¼¥¿¥Ù¡¼¥¹Ãæ¤Ëºî¤é¤ì¤Æ¤½¤Î»²¾È ¤¬ÂåÆþ¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ë¤ï¤±¤Ç¤¹¡£¾å¤ÎÎã¤Ç¸À¤¨¤Ð¡¢ÂåÆþ¸å¤Ë@array ¤ä % hash ¤òÊѹ¹¤·¤Æ¤â¡¢$root->{key1}¤ÎÇÛÎó¤ä $root->{key3}¤Î¥Ï¥Ã¥·¥å¤¬Êѹ¹ ¤µ¤ì¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
³ÊǼ¤·¤¿ÃͤòÆÀ¤ë¤Ë¤Ï¡¢ÉáÄÌ¤Ë ->[] ¤ä ->{} ¤ÎµË¡¤ò»È¤¦¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
$value = $root->{key5}->{a}->[1]; # $value ¤Ï 2 $value = $root->{key5}{a}[1]; # {} ¤ä [] ¤Î´Ö¤Î -> ¤Ï¾Êά²Äǽ
¤â¤·»ØÄꤷ¤¿Ãͤ¬¥Ç¡¼¥¿¥Ù¡¼¥¹Ãæ¤ÎÊ̤Υǡ¼¥¿¤Ø¤Î»²¾È¤Ç¤¢¤Ã¤¿¾ì¹ç¤Ï¡¢Á³¤ë ¤Ù¤·¿¤Î»²¾È¤¬ÆÀ¤é¤ì¤Þ¤¹¡£¤½¤Î»²¾È¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¥Ç¡¼¥¿¤ò³ÊǼ¤·¤¿¤ê ÆÀ¤¿¤ê¤¹¤ë¤Î¤Ë»È¤¨¤Þ¤¹¡£
$hashref = $root->{key4}; # ¥Ï¥Ã¥·¥å»²¾È¤òÆÀ¤ë $hashref->{d} = 4; # ¥Ç¡¼¥¿¤ò³ÊǼ¤¹¤ë $value = $hashref->{c}; # $value ¤Ï 3
¥Î¡¼¥È¡§CODE¤ÈIO¤Î»²¾È¤Ï¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë³ÊǼ¤¹¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£
- ÇÛÎó¤Î¥µ¥¤¥º
-
Pogo ¤ÎÇÛÎó¤ÏɬÍפʤȤ¤Ë¼«Æ°Åª¤ËÂ礤¯¤Ê¤ê¤Þ¤¹¡£¤·¤«¤·¡¢¤³¤ì¤Ï¥Ç¡¼¥¿ ¥Ù¡¼¥¹Æâ¤Î¥Ç¡¼¥¿¤ÎºÆÇÛÃÖ¤ò¤È¤â¤Ê¤¤¤Þ¤¹¡£ÇÛÎ󻲾Ȥ¬ÂåÆþ¤µ¤ì¤¿¤È¤¤Ë¤Ï¡¢ ¤½¤ÎÇÛÎó¤Î¥µ¥¤¥º¤ËÀßÄꤵ¤ì¤Þ¤¹¤¬¡¢¤â¤·ºÇÂ祵¥¤¥º¤¬¸«ÀѤâ¤ì¤ë¤Ê¤é¡¢¤¢¤é ¤«¤¸¤á¥µ¥¤¥º¤òÀßÄꤷ¤Æ¤ª¤¯¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£¥µ¥¤¥º¤ò»ØÄꤷ¤ÆÇÛÎó¤òºî ¤ë¤Ë¤Ï¡¢Pogo::Array::new ¥á¥½¥Ã¥É¤ò»È¤¤¤Þ¤¹¡£
$root->{sqrt} = new Pogo::Array 1000; for(0..999) { $root->{sqrt}->[$_] = sqrt $_; }
- ¥Ï¥Ã¥·¥å¤Î¥µ¥¤¥º
-
Pogo ¤Î¥Ï¥Ã¥·¥å¤Ï¡¢¸ÇÄꥵ¥¤¥º¤Î¥Ï¥Ã¥·¥å¥¨¥ó¥È¥êɽ¤ò»ý¤Á¡¢¤½¤Î¥µ¥¤¥º¤ò Êѹ¹¤¹¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£¥Ï¥Ã¥·¥å¥¨¥ó¥È¥êɽ¤Î¥µ¥¤¥º¤Ï¡¢³ÊǼ¤Ç¤¤ë¥¡¼ ¤Î¿ô¤òÀ©¸Â¤¹¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢¥Ï¥Ã¥·¥å¥¨¥ó¥È¥êɽ¤Î¥µ¥¤¥º¤ËÂФ·¤Æ ¿¤¹¤®¤ë¥¡¼¤ò³ÊǼ¤¹¤ë¤ÈÃÙ¤¯¤Ê¤ê¤Þ¤¹¡£¤Ç¤¹¤«¤é¡¢¥Ï¥Ã¥·¥å¤ÎÍÑÅӤ˱þ¤¸¤Æ ŬÀڤʥϥ工奨¥ó¥È¥êɽ¤Î¥µ¥¤¥º¤òÁª¤Ö¤³¤È¤¬É¬ÍפǤ¹¡£¡Ê¾Íè¤Î Pogo ¤Ç ¤Ï¼«Æ°Åª¤Ê¥Ï¥Ã¥·¥å¥¨¥ó¥È¥êɽ¤Î¥µ¥¤¥º³ÈÄ¥¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ë¤Ç¤· ¤ç¤¦¡£¡Ë¥Ï¥Ã¥·¥å»²¾È¤¬ÂåÆþ¤µ¤ì¤ë¤È¤¤Ë¤Ï¡¢¤½¤Î¥Ï¥Ã¥·¥å¤ÈƱ¤¸¥Ï¥Ã¥·¥å¥¨ ¥ó¥È¥êɽ¤Î¥µ¥¤¥º¤¬ÀßÄꤵ¤ì¤Þ¤¹¡£¥Ï¥Ã¥·¥å¥¨¥ó¥È¥êɽ¤Î¥µ¥¤¥º¤ò»ØÄꤷ¤Æ¥Ï ¥Ã¥·¥å¤òºî¤ë¤Ë¤Ï¡¢Pogo::Hash::new ¥á¥½¥Ã¥É¤ò»È¤¤¤Þ¤¹¡£
$root->{smallhash} = new Pogo::Hash 8; $root->{largehash} = new Pogo::Hash 1024;
¥µ¥¤¥º¤ò¾Êά¤¹¤ë¤È¡¢256¤Ë¤Ê¤ê¤Þ¤¹¡£
- H¥Ä¥ê¡¼
-
Pogo ¤Î¥Ï¥Ã¥·¥å¤Î¥Ï¥Ã¥·¥å¥¨¥ó¥È¥êɽ¤Ï¸ÇÄꥵ¥¤¥º¤ÎÇÛÎó¤Ê¤Î¤Ç¡¢¤¢¤Þ¤êÂç ¤¤Ê¥µ¥¤¥º¤Î¥Ï¥Ã¥·¥å¤Ï¼ÂÍÑŪ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤â¤·Èó¾ï¤ËÂ礤ʥϥ工夬 ɬÍפʤ顢H ¥Ä¥ê¡¼¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£H ¥Ä¥ê¡¼¤Î¥Ï¥Ã¥·¥å¥¨¥ó¥È¥êɽ¤Ï B ¥Ä¥ê¡¼¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢µðÂç¤Ê¥µ¥¤¥º¤¬²Äǽ¤Ç¤¹¡£¥Ï¥Ã¥·¥å¥¨¥ó¥È¥êɽ¤Î¥µ ¥¤¥º¤ò»ØÄꤷ¤Æ H ¥Ä¥ê¡¼¤òºî¤ë¤Ë¤Ï¡¢Pogo::Htree::new ¥á¥½¥Ã¥É¤ò»È¤¤¤Þ¤¹¡£
$root->{hugehash} = new Pogo::Htree 131072;
¥µ¥¤¥º¤ò¾Êά¤¹¤ë¤È¡¢65536¤Ë¤Ê¤ê¤Þ¤¹¡£
- B¥Ä¥ê¡¼
-
¤â¤¦¤Ò¤È¤Ä¤ÎµðÂç¥Ï¥Ã¥·¥å¤òºî¤ëÊýË¡¤Ï¡¢B ¥Ä¥ê¡¼¤Ç¤¹¡£B ¥Ä¥ê¡¼¤Ç¤Ï¡¢¥Ï¥Ã ¥·¥å¤Î¥¡¼¼«ÂΤ¬ B ¥Ä¥ê¡¼¤Î¥¡¼¤È¤Ê¤ê¤Þ¤¹¡£¤½¤Î¤¿¤á¤Ë¥¡¼¤Ï¼«Æ°Åª¤ËÀ° Î󤵤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£¤Þ¤¿¡¢¥Ï¥Ã¥·¥å¥¨¥ó¥È¥êɽ¤Î¥µ¥¤¥º¤Î¥µ¥¤¥º¤ÎÌäÂê ¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤½¤Î°ìÊý¤Ç¡¢Pogo ¤Î B ¥Ä¥ê¡¼¤Î¥¡¼º÷°ú¤Ï¥¡¼Ê¸»úÎó¤ÎÀèƬ 8¥Ð¥¤¥È¤«¤éºî¤é¤ì¤ë¤¿¤á¡¢¤â¤·Â¿¤¯¤Î¥¡¼¤¬ÀèƬ8¥Ð¥¤¥È¤¬Æ±¤¸¤Ç¤¢¤ë¤È¡¢¤½ ¤Î¥¡¼¤Î¸¡º÷¤ÏÃÙ¤¯¤Ê¤ê¤Þ¤¹¡£B ¥Ä¥ê¡¼¤òºî¤ë¤Ë¤Ï¡¢Pogo::Btree::new ¥á¥½ ¥Ã¥É¤ò»È¤¤¤Þ¤¹¡£
$root->{btree} = new Pogo::Btree;
¥µ¥¤¥º¤Î»ØÄê¤ÏɬÍפ¢¤ê¤Þ¤»¤ó¡£
tie ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ç¤Ï¡¢¤¢¤ëʸ»úÎó¤ËÉôʬ°ìÃפ¹¤ë¥Ï¥Ã¥·¥å¥¡¼¤òõ¤¹¤È ¤¤¤¦¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£¤½¤ì¤Ë¤Ï¡¢Pogo::tied_object ¤È Pogo::Btree::find _key ¤ò»È¤¤¤Þ¤¹¡£
$foundkey = Pogo::tied_object($root->{btree})->find_key($string);
Pogo::tied_object ¤Ï¡¢¥Ç¡¼¥¿¤Î»²¾ÈÀè¤Ë tie ¤µ¤ì¤¿±£¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¤ò ÊÖ¤·¤Þ¤¹¡£$root->{btree}¤¬ B ¥Ä¥ê¡¼¤Ç¤¢¤ì¤Ð¡¢Pogo::tied_object($root-> {btree}) ¤Ï Pogo::Btree ¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ê¤ê¤Þ¤¹¡£¤½¤·¤Æ¡¢Pogo::Btree:: find_key ¥á¥½¥Ã¥É¤Ï¡¢»ØÄꤵ¤ì¤¿Ê¸»úÎó¤ËÁ°ÊýÉôʬ°ìÃפ¹¤ë¥¡¼¤òÊÖ¤·¤Þ¤¹¡£
- N¥Ä¥ê¡¼
-
B ¥Ä¥ê¡¼¤Ç¥¡¼¤òÀ°¿ôÃͤȤ·¤Æ°·¤¤¤¿¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¡Ö10¡×¤¬ ¡Ö2¡×¤è¤ê¸å¤Ë¤Ê¤ë¤è¤¦¤Ë¤·¤¿¤¤¡ÊB ¥Ä¥ê¡¼¤Ç¤Ïʸ»úÎó¤È¤·¤Æ°·¤¦¤Î¤ÇµÕ¤Ë¤Ê ¤ë¡Ë¡£¤½¤¦¤¤¤¦¾ì¹ç¤Ë¤Ï N ¥Ä¥ê¡¼¤ò»È¤¨¤Ð¡¢¥¡¼¤Ï long À°¿ôÃͤȤ·¤Æ°·¤ï ¤ì¤Þ¤¹¡£¤½¤ÎÅÀ¤ò½ü¤±¤Ð B ¥Ä¥ê¡¼¤ÈƱ¤¸¤Ç¤¹¡£
$root->{ntree} = new Pogo::Ntree;
- ¥ª¥Ö¥¸¥§¥¯¥È
-
SCALAR/ARRAY/HASH »²¾È¤À¤±¤ò»È¤Ã¤Æ¤¤¤ë Perl ¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¢¤ì¤Ð¡¢Pogo ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë³ÊǼ¤Ç¤¤Þ¤¹¡£
sub Foo::new { bless {name => $_[1]}, $_[0]; } sub Foo::name { $_[0]->{name}; } $root->{obj} = new Foo "bar"; $obj = $root->{obj}; # $obj ¤Ï Foo ¥ª¥Ö¥¸¥§¥¯¥È $name = $obj->name; # $name ¤Ï "bar"
¤â¤·¡¢¥ª¥Ö¥¸¥§¥¯¥È¤Ç»È¤¦¥Ï¥Ã¥·¥å¥¨¥ó¥È¥êɽ¤Î¥µ¥¤¥º¤ò»ØÄꤷ¤¿¤«¤Ã¤¿¤ê¡¢ H ¥Ä¥ê¡¼¤ä B ¥Ä¥ê¡¼¤ò»È¤¤¤¿¤¤¤È¤¤¤¦¾ì¹ç¤Ï¡¢Pogo::Hash::new_tie¡¢Pogo:: Htree::new_tie¡¢Pogo::Btree::new_tie ¤Î¥á¥½¥Ã¥É¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£
sub Bar::new { my($class, $name) = @_; my $self = new_tie Pogo::Htree 10000; $self->{name} = $name; bless $self, $class; }
Pogo::*::new_tie ¤ò»È¤Ã¤¿¥¯¥é¥¹¤Ï Pogo ¥Ç¡¼¥¿¥Ù¡¼¥¹ÍѤˤʤ뤳¤È¤ËÃí°Õ ¤·¤Æ¤¯¤À¤µ¤¤¡£
- ¥È¥é¥ó¥¶¥¯¥·¥ç¥ó
-
Pogo ¤Ë¤Ï¥È¥é¥ó¥¶¥¯¥·¥ç¥óµ¡¹½¤¬¤¢¤ê¤Þ¤¹¡£¤â¤·¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¤Ä¤¤¤Æ¤Î°ì Ï¢¤ÎÁàºî¤ò¡ÖÉÔ²Äʬ¡×¤È¤·¤¿¤¤¾ì¹ç¡¢¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤ò»È¤¤¤Þ¤¹¡£¡ÖÉÔ²Ä Ê¬¡×¤È¤Ï¡¢°ìÏ¢¤ÎÁàºî¤¬¤¹¤Ù¤ÆÀ®¸ù΢¤Ë¼Â¹Ô¤µ¤ì¤ë¤«¡¢¤¢¤ë¤¤¤Ï²¿¤â¹Ô¤ï¤ì¤Ê ¤¤¤«¡¢¤Î¤É¤Á¤é¤«¤Ç¤¢¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£¤Þ¤¿¡¢Â¾¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¥¯¥é¥¤¥¢ ¥ó¥È¤¬¡¢¤½¤Î°ìÏ¢¤ÎÁàºî¤Ë³ä¤ê¹þ¤ó¤ÇÍè¤Ê¤¤¤³¤È¤â°ÕÌ£¤·¤Æ¤¤¤Þ¤¹¡£
¥Ç¡¼¥¿¥Ù¡¼¥¹Á´ÂΤˤĤ¤¤Æ¤Î¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤òÁàºî¤¹¤ë¤Ë¤Ï¡¢Pogo:: begin_transaction¡¢Pogo::abort_transaction¡¢Pogo::end_transaction ¤Î¥á ¥½¥Ã¥É¤ò»È¤¤¤Þ¤¹¡£
$root->{key} = 1; $pogo->begin_transaction; $root->{key} = 2; $pogo->abort_transaction; # Ãæ»ß: ¾å¤ÎÂåÆþ¤Ï¥¥ã¥ó¥»¥ë¤µ¤ì¤ë $value = $root->{key}; # $value ¤Ï 1 ¤Î¤Þ¤Þ $pogo->begin_transaction; $root->{key} = 3; $pogo->end_transaction; # ½ªÎ»: ¾å¤ÎÂåÆþ¤Ï͸ú $value = $root->{key}; # $value ¤Ï 3
¤³¤ì¤é¤Î¥á¥½¥Ã¥É¤Ï¡¢¥¯¥é¥¹¥á¥½¥Ã¥É¤È¤·¤Æ¤Ç¤Ï¤Ê¤¯¡¢¥ª¥Ö¥¸¥§¥¯¥È¥á¥½¥Ã¥É ¤È¤·¤Æ¸Æ¤Ð¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
¤³¤Î¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤Ï¥Ç¡¼¥¿¥Ù¡¼¥¹Á´ÂΤò¥í¥Ã¥¯¤¹¤ë¤Î¤Ç¡¢Ä¹»þ´Ö¤Î¥È¥é¥ó ¥¶¥¯¥·¥ç¥ó¤ÏʹԽèÍý¤Î¸úΨ¤òÄã²¼¤µ¤»¤Þ¤¹¡£
¥Ç¡¼¥¿Ëè¤Î¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤¬É¬Íפʾì¹ç¤Ï¡¢Pogo::atomic_call ¥á¥½¥Ã¥É¤ò »È¤¤¤Þ¤¹¡£
$root->{key} = \@array; Pogo::atomic_call(\&sortarray, $root->{key}); sub sortarray { my $aref = shift; @$aref = sort @$aref; }
sortarray ¤¬¸Æ¤Ð¤ì¤Æ¤¤¤ë´Ö¡¢$root->{key}¤Ï¥í¥Ã¥¯¤µ¤ì¤Þ¤¹¡£½¾¤Ã¤Æ¾¤Î¥Ç ¡¼¥¿¥Ù¡¼¥¹¥¯¥é¥¤¥¢¥ó¥È¤¬¥½¡¼¥È¤ò¼ÙË⤹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤»¤ó¤·¡¢¥½¡¼¥È¤¬Ãæ ÅÓȾü¤Ë½ª¤ï¤ë¤È¤¤¤¦¤³¤È¤â¤¢¤ê¤Þ¤»¤ó¡£
¥Ç¡¼¥¿Ëè¤Î¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤Ë¤Ï¡¢¥æ¡¼¥¶¡¼¤Ë¤è¤ëÃæ»ß¤Îµ¡Ç½¤Ï¤¢¤ê¤Þ¤»¤ó¡£
- ¼õưŪưºî
-
¥Ç¡¼¥¿¥Ù¡¼¥¹Ãæ¤Î¥Ç¡¼¥¿¤ò´Æ»ë¤·¡¢Â¾¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¥¯¥é¥¤¥¢¥ó¥È¤Ë¤è¤Ã¤Æ¤½ ¤Î¥Ç¡¼¥¿¤¬Êѹ¹¤µ¤ì¤¿¤é²¿¤«¤Î½èÍý¤ò¤¹¤ë¡¢¤È¤¤¤¦¥¹¥¯¥ê¥×¥È¤¬É¬Íפʾì¹ç¤Ï¡¢ Pogo::wait_modification ´Ø¿ô¤ò»È¤¤¤Þ¤¹¡£
$result = Pogo::wait_modification($root->{key}, 5);
¤³¤Îʸ¤¬¼Â¹Ô¤µ¤ì¤ë¤È¡¢$root->{key}¤¬Â¾¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¥¯¥é¥¤¥¢¥ó¥È¤Ë¤è¤Ã ¤ÆÊѹ¹¤µ¤ì¤ë¤«¡¢5É÷ФĤޤǡ¢¼Â¹Ô¤Ï»ß¤Þ¤ê¤Þ¤¹¡£$result ¤Ï¡¢¥Ç¡¼¥¿¤¬ÊÑ ¹¹¤µ¤ì¤¿¾ì¹ç¤Ï1¡¢»þ´ÖÀÚ¤ì¤Î¾ì¹ç¤Ï0¤Ë¤Ê¤ê¤Þ¤¹¡£
»þ´ÖÀÚ¤ì¤Þ¤Ç¤ÎÉÿô¤ò¾Êά¤¹¤ë¤È¡¢±Ê±ó¤ËÂÔ¤Á³¤±¤Þ¤¹¡£
¥Ç¡¼¥¿¥Ù¡¼¥¹¥Ö¥é¥¦¥¶
Pogo ¤Ë¤Ï Pogo ¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÆâÍƤòÇÁ¤¯¥¹¥¯¥ê¥×¥È browse ¤¬ÉÕ°¤·¤Æ¤¤ ¤Þ¤¹¡£test.cfg ¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÇÁ¤¯¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¼Â¹Ô¤·¤Þ¤¹¡£
browse test
¤¹¤ë¤È¡¢browse¤Ï¼¡¤Î¤è¤¦¤Ëɽ¼¨¤·¤Æ¡¢¥³¥Þ¥ó¥ÉÆþÎϤòÂÔ¤Á¤Þ¤¹¡£
test.cfg opened
root=(HASH(Btree)(10000))>
¡Öls¡×¤ÈÆþÎϤ¹¤ë¤È¥ë¡¼¥È B ¥Ä¥ê¡¼¥Ï¥Ã¥·¥å¤ÎÆâÍƤ¬Î㤨¤Ð¼¡¤Î¤è¤¦¤Ë¸«¤é ¤ì¤Þ¤¹¡£Â¾¤Î¥Ç¡¼¥¿¤Ø¤Î»²¾È¤Ë¤Ä¤¤¤Æ¤Ï¥¯¥é¥¹Ì¾¡¢¥Ç¡¼¥¿¼ïÊÌ¡¢¥ª¥Ö¥¸¥§¥¯¥È ID ¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
{aobj} = Aclass(HASH(Hash)(1012d))
{index} = (HASH(Btree)(10282))
{list} = (ARRAY(10036))
{name} = "test"
¤³¤³¤Ç¡Öcd index¡×¤ÈÆþÎϤ¹¤ë¤È¡¢¸½ºß°ÌÃÖ¤¬ $root->{index}¤Ë¤Ê¤ê¡¢¥×¥í ¥ó¥×¥È¤Ï¼¡¤Î¤è¤¦¤ËÊѤï¤ê¤Þ¤¹¡£
root{index}=(HASH(Btree))>
¡Öcd¡×¤ÈÆþÎϤ¹¤ë¤È¥ë¡¼¥È¤ËÌá¤ê¤Þ¤¹¡£¡Öcd ..¡×¤ÈÆþÎϤ¹¤ë¤È¿Æ¤ËÌá¤ê¤Þ¤¹¡£ ¡Öexit¡×¤Ç½ªÎ»¤Ç¤¹¡£
¥á¥½¥Ã¥É
¡Ö¥¯¥é¥¹¥á¥½¥Ã¥É¡×¤Èµ¤µ¤ì¤¿¤â¤Î°Ê³°¤Ï¡¢¥ª¥Ö¥¸¥§¥¯¥È¥á¥½¥Ã¥É¤Ç¤¹¡£[]µ ¹æ¤Ï¾Êά²Äǽ¤Ê°ú¿ô¤ò°ÕÌ£¤·¤Þ¤¹¡£
- $pogo = Pogo->new [config_filename]
-
¥¯¥é¥¹¥á¥½¥Ã¥É¡£Pogo ¥ª¥Ö¥¸¥§¥¯¥È¤òºî¤Ã¤ÆÊÖ¤·¤Þ¤¹¡£config_filename ¤¬ »ØÄꤵ¤ì¤Æ¤¤¤ë¤È¡¢¤½¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤Ë½¾¤Ã¤ÆÆ°ºî¤·¤Æ¤¤¤ë GOODS ¥µ¡¼¥Ð¡¼ ¤ËÀܳ¤·¤Þ¤¹¡£Âбþ¤¹¤ë GOODS ¥µ¡¼¥Ð¡¼¤ÏÆ°ºîÃæ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
- $pogo->open config_filename
-
¤â¤· Pogo ¥ª¥Ö¥¸¥§¥¯¥È¤¬¤Þ¤À GOODS ¥µ¡¼¥Ð¡¼¤ËÀܳ¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢¤³¤Î ¥á¥½¥Ã¥É¤ÇÀܳ¤·¤Þ¤¹¡£
- $pogo->close
-
GOODS ¥µ¡¼¥Ð¡¼¤È¤ÎÀܳ¤òÀÚ¤ê¤Þ¤¹¡£Ä̾ï¤Ï¤³¤Î¥á¥½¥Ã¥É¤ò»È¤¦É¬ÍפϤ¢¤ê¤Þ¤»¤ó¡£ Pogo ¥ª¥Ö¥¸¥§¥¯¥È¤¬ÇË´þ¤µ¤ì¤ë¤È¤¤Ë¼«Æ°Åª¤Ë¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
- $pogo->opened
-
Pogo ¥ª¥Ö¥¸¥§¥¯¥È¤¬ GOODS ¥µ¡¼¥Ð¡¼¤ËÀܳ¤·¤Æ¤¤¤ì¤Ð 1¡¢Àܳ¤·¤Æ¤¤¤Ê¤±¤ì ¤Ð 0 ¤òÊÖ¤·¤Þ¤¹¡£
- $pogo->root
-
¥ë¡¼¥ÈB¥Ä¥ê¡¼¤ËÂбþ¤·¤¿Pogo::Btree¥ª¥Ö¥¸¥§¥¯¥È¤òºî¤Ã¤ÆÊÖ¤·¤Þ¤¹¡£
- $pogo->root_tie
-
¥ë¡¼¥È B ¥Ä¥ê¡¼¤ËÂбþ¤·¤¿ Pogo::Btree ¥ª¥Ö¥¸¥§¥¯¥È¤òºî¤ê¡¢¤½¤ì¤Ë tie ¤µ¤ì¤¿¥Ï¥Ã¥·¥å¤Ø¤Î»²¾È¤òÊÖ¤·¤Þ¤¹¡£
- $pogo->begin_transaction
-
¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤ò³«»Ï¤·¤Þ¤¹¡£
- $pogo->abort_transaction
-
¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤òÃæ»ß¤·¤Þ¤¹¡£
- $pogo->end_transaction
-
¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤ò½ªÎ»¤·¤Þ¤¹¡£
- $obj = Pogo::Scalar->new [pogoobj]
-
¥¯¥é¥¹¥á¥½¥Ã¥É¡£Pogo::Scalar ¥ª¥Ö¥¸¥§¥¯¥È¤òºî¤Ã¤ÆÊÖ¤·¤Þ¤¹¡£Pogo ¥ª¥Ö¥¸ ¥§¥¯¥È pogoobj ¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢¤½¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£
- $scalarref = Pogo::Scalar->new_tie [pogovar ,class]
-
¥¯¥é¥¹¥á¥½¥Ã¥É¡£Pogo::Scalar ¥ª¥Ö¥¸¥§¥¯¥È¤òºî¤ê¡¢¥¹¥«¥é¤ò¤½¤ì¤Ë tie ¤·¡¢ ¤½¤Î¥¹¥«¥é¤Î»²¾È¤òÊÖ¤·¤Þ¤¹¡£Pogo ¤ÎÊÑ¿ô pogovar ¤¬»ØÄꤵ¤ì¡¢¤½¤ì¤¬¤¹¤Ç ¤Ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢Æ±¤¸¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¥¢¥¿¥Ã¥Á¤µ ¤ì¤Þ¤¹¡£¥¯¥é¥¹Ì¾ class ¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢¤½¤Î ¥¯¥é¥¹Ì¾¤Ç bless ¤µ¤ì¤Þ¤¹¡£
- $obj = Pogo::Array->new [size ,pogoobj]
-
¥¯¥é¥¹¥á¥½¥Ã¥É¡£size ¤Ç»ØÄꤵ¤ì¤¿¥µ¥¤¥º¤Î Pogo::Array ¥ª¥Ö¥¸¥§¥¯¥È¤òºî ¤Ã¤ÆÊÖ¤·¤Þ¤¹¡£size ¤¬¾Êά¤µ¤ì¤ë¤È¡¢1¤Ë¤Ê¤ê¤Þ¤¹¡£Pogo ¥ª¥Ö¥¸¥§¥¯¥È pogoobj ¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢¤½¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£
- $arrayref = Pogo::Array->new_tie [size ,pogovar ,class]
-
¥¯¥é¥¹¥á¥½¥Ã¥É¡£size ¤Ç»ØÄꤵ¤ì¤¿¥µ¥¤¥º¤Î Pogo::Array ¥ª¥Ö¥¸¥§¥¯¥È¤òºî ¤ê¡¢ÇÛÎó¤ò¤½¤ì¤Ë tie ¤·¡¢¤½¤ÎÇÛÎó¤Î»²¾È¤òÊÖ¤·¤Þ¤¹¡£ size ¤¬¾Êά¤µ¤ì¤ë ¤È¡¢1¤Ë¤Ê¤ê¤Þ¤¹¡£Pogo ¤ÎÊÑ¿ô pogovar ¤¬»ØÄꤵ¤ì¡¢¤½¤ì¤¬¤¹¤Ç¤Ë¥Ç¡¼¥¿¥Ù ¡¼¥¹¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢Æ±¤¸¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Þ¤¹¡£¥¯ ¥é¥¹Ì¾ class ¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢¤½¤Î¥¯¥é¥¹Ì¾ ¤Ç bless ¤µ¤ì¤Þ¤¹¡£
- $obj = Pogo::Hash->new [size ,pogoobj]
-
¥¯¥é¥¹¥á¥½¥Ã¥É¡£size ¤Ç»ØÄꤵ¤ì¤¿¥µ¥¤¥º¤Î¥Ï¥Ã¥·¥å¥¨¥ó¥È¥êɽ¤Î Pogo:: Hash ¥ª¥Ö¥¸¥§¥¯¥È¤òºî¤Ã¤ÆÊÖ¤·¤Þ¤¹¡£size ¤¬¾Êά¤µ¤ì¤ë¤È¡¢256 ¤Ë¤Ê¤ê¤Þ¤¹¡£ Pogo ¥ª¥Ö¥¸¥§¥¯¥È pogoobj ¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢¤½¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë³ÊǼ¤µ¤ì ¤Þ¤¹¡£
- $hashref = Pogo::Hash->new_tie [size ,pogovar ,class]
-
¥¯¥é¥¹¥á¥½¥Ã¥É¡£size ¤Ç»ØÄꤵ¤ì¤¿¥µ¥¤¥º¤Î¥Ï¥Ã¥·¥å¥¨¥ó¥È¥êɽ¤Î Pogo:: Hash ¥ª¥Ö¥¸¥§¥¯¥È¤òºî¤ê¡¢¥Ï¥Ã¥·¥å¤ò¤½¤ì¤Ë tie ¤·¡¢¤½¤Î¥Ï¥Ã¥·¥å¤Î»²¾È¤ò ÊÖ¤·¤Þ¤¹¡£size ¤¬¾Êά¤µ¤ì¤ë¤È¡¢256 ¤Ë¤Ê¤ê¤Þ¤¹¡£Pogo ¤ÎÊÑ¿ô pogovar ¤¬ »ØÄꤵ¤ì¡¢¤½¤ì¤¬¤¹¤Ç¤Ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢Æ±¤¸¥Ç¡¼ ¥¿¥Ù¡¼¥¹¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Þ¤¹¡£¥¯¥é¥¹Ì¾ class ¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢¤½¤Î¥¯¥é ¥¹Ì¾¤Ç bless ¤µ¤ì¤Þ¤¹¡£
- $obj = Pogo::Htree->new [size ,pogoobj]
-
¥¯¥é¥¹¥á¥½¥Ã¥É¡£size ¤Ç»ØÄꤵ¤ì¤¿¥µ¥¤¥º¤Î¥Ï¥Ã¥·¥å¥¨¥ó¥È¥êɽ¤Î Pogo:: Htree ¥ª¥Ö¥¸¥§¥¯¥È¤òºî¤Ã¤ÆÊÖ¤·¤Þ¤¹¡£size ¤¬¾Êά¤µ¤ì¤ë¤È¡¢ 65536 ¤Ë¤Ê¤ê ¤Þ¤¹¡£Pogo ¥ª¥Ö¥¸¥§¥¯¥È pogoobj ¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢¤½¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë³Ê Ǽ¤µ¤ì¤Þ¤¹¡£
- $hashref = Pogo::Htree->new_tie [size ,pogovar ,class]
-
¥¯¥é¥¹¥á¥½¥Ã¥É¡£size ¤Ç»ØÄꤵ¤ì¤¿¥µ¥¤¥º¤Î¥Ï¥Ã¥·¥å¥¨¥ó¥È¥êɽ¤Î Pogo:: Htree ¥ª¥Ö¥¸¥§¥¯¥È¤òºî¤ê¡¢¥Ï¥Ã¥·¥å¤ò¤½¤ì¤Ë tie ¤·¡¢¤½¤Î¥Ï¥Ã¥·¥å¤Î»²¾È ¤òÊÖ¤·¤Þ¤¹¡£size ¤¬¾Êά¤µ¤ì¤ë¤È¡¢ 65536 ¤Ë¤Ê¤ê¤Þ¤¹¡£Pogo ¤ÎÊÑ¿ô pogovar ¤¬»ØÄꤵ¤ì¡¢¤½¤ì¤¬¤¹¤Ç¤Ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢ Ʊ¤¸¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Þ¤¹¡£¥¯¥é¥¹Ì¾ class ¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢ ¤½¤Î¥¯¥é¥¹Ì¾¤Ç bless ¤µ¤ì¤Þ¤¹¡£
- $obj = Pogo::Btree->new [pogoobj]
-
¥¯¥é¥¹¥á¥½¥Ã¥É¡£Pogo::Btree ¥ª¥Ö¥¸¥§¥¯¥È¤òºî¤Ã¤ÆÊÖ¤·¤Þ¤¹¡£Pogo ¥ª¥Ö¥¸ ¥§¥¯¥È pogoobj ¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢¤½¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£
- $hashref = Pogo::Btree->new_tie [pogovar ,class]
-
¥¯¥é¥¹¥á¥½¥Ã¥É¡£Pogo::Btree ¥ª¥Ö¥¸¥§¥¯¥È¤òºî¤ê¡¢¥Ï¥Ã¥·¥å¤ò¤½¤ì¤Ë tie ¤·¡¢¤½¤Î¥Ï¥Ã¥·¥å¤Î»²¾È¤òÊÖ¤·¤Þ¤¹¡£Pogo ¤ÎÊÑ¿ô pogovar ¤¬»ØÄꤵ¤ì¡¢¤½¤ì ¤¬¤¹¤Ç¤Ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢Æ±¤¸¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¥¢¥¿ ¥Ã¥Á¤µ¤ì¤Þ¤¹¡£¥¯¥é¥¹Ì¾ class ¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢¤½¤Î¥¯¥é¥¹Ì¾¤Ç bless ¤µ ¤ì¤Þ¤¹¡£
- $obj = Pogo::Ntree->new [pogoobj]
-
¥¯¥é¥¹¥á¥½¥Ã¥É¡£Pogo::Ntree ¥ª¥Ö¥¸¥§¥¯¥È¤òºî¤Ã¤ÆÊÖ¤·¤Þ¤¹¡£Pogo ¥ª¥Ö¥¸ ¥§¥¯¥È pogoobj ¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢¤½¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£
- $hashref = Pogo::Ntree->new_tie [pogovar ,class]
-
¥¯¥é¥¹¥á¥½¥Ã¥É¡£Pogo::Ntree ¥ª¥Ö¥¸¥§¥¯¥È¤òºî¤ê¡¢¥Ï¥Ã¥·¥å¤ò¤½¤ì¤Ë tie ¤·¡¢¤½¤Î¥Ï¥Ã¥·¥å¤Î»²¾È¤òÊÖ¤·¤Þ¤¹¡£Pogo ¤ÎÊÑ¿ô pogovar ¤¬»ØÄꤵ¤ì¡¢¤½¤ì ¤¬¤¹¤Ç¤Ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢Æ±¤¸¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¥¢¥¿ ¥Ã¥Á¤µ¤ì¤Þ¤¹¡£¥¯¥é¥¹Ì¾ class ¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢¤½¤Î¥¯¥é¥¹Ì¾¤Ç bless ¤µ ¤ì¤Þ¤¹¡£
¥Î¡¼¥È¡§¤³¤ì¤é¤Î Pogo::*::new ¤ä Pogo::*::new_tie ¥á¥½¥Ã¥É¤Çºî¤é¤ì¤¿¥ª ¥Ö¥¸¥§¥¯¥È¤Ï¡¢¥á¥â¥ê¾å¤Ë¤¢¤ê¡¢¤Þ¤À±Ê³Ū¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£´û¸¤Î±Ê³¥Ç¡¼ ¥¿¤Ë»²¾È¤µ¤ì¤¿»þ¤Ë»Ï¤á¤Æ¡¢±Ê³¥Ç¡¼¥¿¤Ë¤Ê¤ê¤Þ¤¹¡£¤Þ¤¿¡¢°ú¿ô¤Ë Pogo ¥ª¥Ö ¥¸¥§¥¯¥È¤ò»ØÄꤹ¤ë¤È¡¢¤½¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¤¬¡¢¤ä¤Ï¤ê´û¸¤Î±Ê ³¥Ç¡¼¥¿¤Ë»²¾È¤µ¤ì¤Æ»Ï¤á¤Æ¿¿¤Ë±Ê³¥Ç¡¼¥¿¤Ë¤Ê¤ê¤Þ¤¹¡£
¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼´Ø¿ô
- Pogo::type_of
-
»ØÄꤵ¤ì¤¿Pogo¥Ç¡¼¥¿¤Î»²¾È¥¿¥¤¥×¡¢¥¯¥é¥¹Ì¾¡¢tie¥¯¥é¥¹Ì¾¤òÊÖ¤·¤Þ¤¹¡£
($reftype, $class, $tiedclass) = Pogo::type_of($root->{key});
Î㤨¤Ð¼¡¤Î¤è¤¦¤ÊÃͤ¬ÆÀ¤é¤ì¤Þ¤¹¡£
() : »²¾È¤Ç¤Ê¤¤ ('ARRAY', '', 'Pogo::Array') : ÇÛÎó ('HASH', '', 'Pogo::Btree') : B¥Ä¥ê¡¼¥Ï¥Ã¥·¥å ('HASH', 'Aclass', 'Pogo::Hash') : Aclass¥ª¥Ö¥¸¥§¥¯¥È
- Pogo::tied_object
-
»ØÄꤵ¤ì¤¿Pogo¥Ç¡¼¥¿¤Î»²¾ÈÀ褬tie¤µ¤ì¤¿Pogo::*¥ª¥Ö¥¸¥§¥¯¥È¤òÊÖ¤·¤Þ¤¹¡£
- Pogo::equal
-
Æó¤Ä¤Î Pogo ¥Ç¡¼¥¿¤ò°ú¿ô¤Ë¤È¤Ã¤Æ¡¢¤½¤ì¤¬Æ±¤¸¥Ç¡¼¥¿¥Ù¡¼¥¹¥ª¥Ö¥¸¥§¥¯¥È¤ò »Ø¤¹¤Ê¤é1¡¢°ã¤¦¤Ê¤é0¤òÊÖ¤·¤Þ¤¹¡£
- Pogo::object_id
-
»ØÄꤵ¤ì¤¿Pogo¥Ç¡¼¥¿¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¥ª¥Ö¥¸¥§¥¯¥ÈID¤òÊÖ¤·¤Þ¤¹¡£
- Pogo::atomic_call
-
»ØÄꤵ¤ì¤¿´Ø¿ô¤ò¡ÖÉÔ²Äʬ¡×¤Ë¼Â¹Ô¤·¡¢¤½¤Î·ë²Ì¤òÊÖ¤·¤Þ¤¹¡£
$result = Pogo::atomic_call(\&func, $data, @args);
\&func ¤Ï¥µ¥Ö¥ë¡¼¥Á¥ó»²¾È¡¢$data ¤Ï Pogo ¥Ç¡¼¥¿¤Ç¤¹¡£$data ¤Ï¼Â¹ÔÃæ¥í ¥Ã¥¯¤µ¤ì¤Þ¤¹¡£¥í¥Ã¥¯¤¬¤ª¤³¤Ê¤ï¤ì¤ëÅÀ¤ò½ü¤±¤Ð¡¢¼¡¤ÈƱ¤¸¤Ç¤¹¡£
$result = func($data, @args);
func¤Ï¥¹¥«¥é¥³¥ó¥Æ¥¥¹¥È¤Ç¸Æ¤Ð¤ì¡¢ÊÖ¤êÃͤÏÀ°¿ô¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£
- Pogo::wait_modification
-
»ØÄꤵ¤ì¤¿¥Ç¡¼¥¿¤¬Â¾¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¥¯¥é¥¤¥¢¥ó¥È¤Ë¤è¤Ã¤ÆÊѹ¹¤µ¤ì¤ë¤«¡¢¤¢ ¤ë¤¤¤Ï»ØÄꤵ¤ì¤¿Éÿô·Ð¤Ä¤Þ¤ÇÂÔ¤Á¤Þ¤¹¡£¥Ç¡¼¥¿¤¬Êѹ¹¤µ¤ì¤¿¾ì¹ç¤Ï1¡¢»þ´Ö ÀÚ¤ì¤Î¾ì¹ç¤Ï0¤òÊÖ¤·¤Þ¤¹¡£
$result = Pogo::wait_modification($data, $sec);
»þ´ÖÀÚ¤ì¤Þ¤Ç¤ÎÉÿô¤¬¾Êά¤µ¤ì¤ë¤È¡¢±Ê±ó¤ËÂÔ¤Á¤Þ¤¹¡£
- Pogo::get_root_tie
-
°ú¿ô¤Ë»ØÄꤵ¤ì¤¿ Pogo ¥Ç¡¼¥¿¤«¤é¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥ë¡¼¥È B ¥Ä¥ê¡¼¤ËÂбþ ¤·¤¿ Pogo::Btree ¥ª¥Ö¥¸¥§¥¯¥È¤òÆÀ¤Æ¡¢¤½¤ì¤Ë tie ¤µ¤ì¤¿¥Ï¥Ã¥·¥å¤Ø¤Î»²¾È ¤òÊÖ¤·¤Þ¤¹¡£
$root = Pogo::get_root_tie($pogovar);
Äã¥ì¥Ù¥ë¥á¥½¥Ã¥É
°Ê²¼¤Î¥á¥½¥Ã¥É¤Ïtie¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹ÆâÉô¤Ç»È¤ï¤ì¤Æ¤¤¤ë¤â¤Î¤Ç¤¹¡£
- Pogo::Var
-
Pogo::Var ¤Ï¡¢°Ê²¼¤Î Pogo::*¥¯¥é¥¹·²¤¹¤Ù¤Æ¤ÎÃê¾Ý´ðËÜ¥¯¥é¥¹¤Ç¤¹¡£Pogo:: Var ¥ª¥Ö¥¸¥§¥¯¥È¤Ï»È¤¨¤Þ¤»¤ó¡£
Pogo::Var::get_class Pogo::Var::set_class Pogo::Var::begin_transaction Pogo::Var::abort_transaction Pogo::Var::end_transaction Pogo::Var::root Pogo::Var::root_tie Pogo::Var::call Pogo::Var::equal Pogo::Var::wait_modification Pogo::Var::object_id
- Pogo::Scalar
-
Pogo::Scalar::get Pogo::Scalar::set
- Pogo::Array
-
Pogo::Array::get Pogo::Array::set Pogo::Array::get_size Pogo::Array::set_size Pogo::Array::clear Pogo::Array::push Pogo::Array::pop Pogo::Array::insert Pogo::Array::remove
- Pogo::Hash
-
Pogo::Hash::get Pogo::Hash::set Pogo::Hash::exists Pogo::Hash::remove Pogo::Hash::clear Pogo::Hash::first_key Pogo::Hash::next_key
- Pogo::Htree
-
Pogo::Htree::get Pogo::Htree::set Pogo::Htree::exists Pogo::Htree::remove Pogo::Htree::clear Pogo::Htree::first_key Pogo::Htree::next_key
- Pogo::Btree, Pogo::Ntree
-
°Ê²¼¤Î¥á¥½¥Ã¥É¤ÏPogo::Ntree¤Ç¤âƱ¤¸
Pogo::Btree::get Pogo::Btree::set Pogo::Btree::exists Pogo::Btree::remove Pogo::Btree::clear Pogo::Btree::first_key Pogo::Btree::last_key Pogo::Btree::next_key Pogo::Btree::prev_key Pogo::Btree::find_key
Äã¥ì¥Ù¥ë¥¯¥é¥¹¤ÎÇÉÀ¸¤È¥á¥½¥Ã¥É¤Î¥Õ¥Ã¥¯
Äã¥ì¥Ù¥ë¥¯¥é¥¹¤«¤é¤ÎÇÉÀ¸¥¯¥é¥¹¤òºî¤Ã¤Æ¥á¥½¥Ã¥É¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤Þ¤¿¡¢¥á¥½¥Ã¥É¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤¹¤ëÂå¤ï¤ê¤Ë¡¢¥á¥½¥Ã¥É¤ò¥Õ¥Ã¥¯¤¹¤ë»ÅÁȤߤâÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
Î㤨¤ÐPogo::Array::set¥á¥½¥Ã¥É¤ò¥Õ¥Ã¥¯¤·¤¿¤¤¾ì¹ç¤Ï¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£
# MyArray.pm
package MyArray;
@ISA = qw(Pogo::Array);
%HOOK = (set => \&set_hook); # set() ¥á¥½¥Ã¥É¤ò set_hook() ¤Ç¥Õ¥Ã¥¯
sub set_hook {
my($self, $idx, $value) = @_;
do_something($self, $idx, $value);
1; # µ¶¤òÊÖ¤¹¤È¸µ¤Î¥á¥½¥Ã¥É¤Ï¸Æ¤Ð¤ì¤Ê¤¤
}
...
1;
¤½¤·¤Æ¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£
use MyArray;
$obj = new MyArray;
$obj->set(0, "value"); # set_hook($obj, 0, "value") ¤È Pogo::Array::set($obj, 0, "value") ¤¬¸Æ¤Ð¤ì¤ë
AUTHOR
ÃæÅç Ì÷ <nakajima@netstock.co.jp>
SEE ALSO
GOODS¤Îreadme.htm
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 9:
Non-ASCII character seen before =encoding in '¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÀܳ'. Assuming CP1252