第11話 影の番兵

--------------------- 第11話 影の番兵 --------------------------

はじまり、はじまり~。

<ぶばんぺい~ってなぁ~にぃ~?>
番兵とはググルと「データの終了を示すために配置される特殊なデータ」とあるね。

<あらま。本当に番兵って呼ばれているんだ。>
ナンだと思ってたんだよ。

<冗談かと。>
オイ!

<で、何で「影」なの?>
じゃあ。resizeで番兵を立てたように見えるかい?

<見えないわ。 単に無駄をしているとしか。>
実態が見えないから「影」と便宜上呼んでいる。

別にresizeに限らず、すでにあるデータを利用する場合もそう呼んでいる。
<例えば?>
ファイルのEOFなど。最もコレは一般的すぎるね。

<コレからが本題ね。どうしてresizeするだけで番兵を立てた事になるの?>
番兵の役割はデータの境界を見張る為のものだ。ソレはどんな形でもいい。
通常データの外側に配置され、特殊な値を持つものが多い。つまり「ある」だけでも良い。

<だから、何でresizeなのってば?>
resizeすることで1個数が増えるんだ。resizeは上限値を引数とするからね。

<なるほど。 普通、配列は0から始まるからなぁ。で、何で必要なの>
2つずつ比較すると最後がヤバイのでソレを判断する必要がある。

<そっか~。余分な判断行を避ける為ね>
ソレもあるし、流れとして必ず実行しないといけない部分もあるからだ。

<自分より大きなグループに属さないことを確認するのね>
合ってるけど、分かっているのかな? まっいいや。

<くぅ~~!何だかワクワクしてきたわ!>
い、いかん。妄想モードの予感。

<重要な役目の番兵を人知れず配置し、1行も増えない。>
<いや、返って判断文を減らしている。しかも1行3役に組み込むとは・・・>
<やるわね。アン・・Liners様>
<いったい、ドンだけこのスクリプトに詰め込まれているんだ?>

<しかし、さすがにもう限界よねぇ~?>
コレからが、本番だよ。

<またまた。再帰ックに1行3役、影の番兵、謎の連想配列の他にまだ何か?>
ようやくお膳立てが終わったところだね。

正直、これらはテクニック的な部分が多い。ネット上でも情報が極端に少ないのは
グループ化と切り替えなどの管理が面倒だからと考えられる。

<あの~残りは、for~next文を除くとたった4行で、1行目はmatch関数を>
<呼んでるだけで、残り3行で一体何が起こってるの? もうぅ!>
何かが怒ッテル!

<本人がトボケナイでくださいます? ってかトボケルな!!>

<・・・ったくもう、はぐらかしてぇ。>
<んっ? 一度は考えさせてるけど、後でチャンと答えるわね。>
<実例だし、マニュアルで覚えるよりズット分かりやすい!>
<しかも、アタシに合わせて一つずつ丁寧に・・・意外に優しいかも♪>


----------------------------------------------------------------------

提供は: でした。  (存在自体が影なので見えない?<<トボケルな!)

----------------------------------------------------------------------