MyMiniCity踏んでください!!

ただいま絶賛MyMiniCity参加中です.是非リンクを踏んでください!!(笑
January 23rd, 2006

PHPでoperatorのoverload!!

(Read: 3207)
Add to Hatena Bookmark

参照: PECL Package operator
PECL::operatorを試してみた
PHP 5以上で動作する拡張モジュールのようです.今回はPHP 5.1.2でテストしてみました.
結果は0勝2敗(ガク よってHotPHPPER落ち.

サンプルを見る限りは使用方法はすごい明瞭簡単です.
コーディングは演算子用のクラスを作成し,演算子毎にメソッドを作成していくだけです.
後は通常

$foo = "foo";
$foo = 1;
といったように記述するところを

$foo = new foo("foo");
$foo = new foo( 1);
といったようにインスタンスします.その後は普通に

$bar = $foo + $foo;
といったように扱います.

下記テストコードより引用.
まぁバージョン0.1で1stリリースなので次のリリースに期待.

class foo {
private $value;

function __add($val) {
return $this->value + $val;
}

function __sub($val) {
return $this->value - $val;
}

function __mul($val) {
return $this->value * $val;
}

function __div($val) {
return $this->value / $val;
}

function __mod($val) {
return $this->value % $val;
}

function __sl($val) {
return $this->value << $val;
}

function __sr($val) {
return $this->value >> $val;
}

function __concat($val) {
return $this->value . $val;
}

function __bw_or($val) {
return $this->value | $val;
}

function __bw_and($val) {
return $this->value & $val;
}

function __bw_xor($val) {
return $this->value ^ $val;
}

function __construct($init) {
$this->value = $init;
}
}

$c = new foo(7);
var_dump($c + 3);
var_dump($c - 3);
var_dump($c * 3);
var_dump($c / 2);
var_dump($c % 3);

$d = new foo(14);
var_dump($d << 2);
var_dump($d >> 2);

$e = new foo('PHP');
var_dump($e . ' with overloading');

$f = new foo(0x5A);
var_dump($f | 0xAA);
var_dump($f & 0xAA);
var_dump($f ^ 0xAA);

トピックの参照元

▼最近のトピック

▼ 人気のトピック


< 過去の記事 [ 1All Categories ] 新しい記事 >
Powered by gsblog (customize)

[ POST ] [ AddLink ] [ CtlPanel ]

Subscribe blog

Bookmark blog

About me

about me

応援しています

我が息子が産まれたアクア・バースハウス(東京都世田谷区にある助産院)を応援しています.

翻訳のお仕事

腕に自信がある方,修行をしたい方はこちらをどうぞ.

2006 calendar

1月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
| Day | Month | Year |

Powered by RRDTOOL.

Archives

Categories

Links


Mail to admin

人気ブログランキングへ RSS feed meter for http://blog.poyo.jp/ Search Engine Optimization
blogpeople.netに登録!! スカウター : よくきたblog

My Google news

My Google News

Related site

ころんころん♪ べびぽよ フォト蔵Wiki
string(40) "/categ-1/year-2006/month-1/id-1137944192"