ダイナミック変数と最適化

最近、プログラミングをしていてすごいと思ったことがある


変数とは、「あらかじめ定義したモノ」と言う固定概念があった

しかし、変数名そのものを「変動」させる必殺技があったのだ


それが「ダイナミック変数」


通常$Aと定義したらその名前をずっと使うのだが、ダイナミック変数の場合は

$Aの時もあれば、$Bになることもあるという何とも都合の良いやり方だった

ただ、これの考え方がひと癖ある。

ダイナミック変数には「原則、固定変数は必要無いと書いたが」実は、最低1個は固定変数が必要になる。

つまり、種になる部分は固定で必要になるわけ

固定変数$Aを定義
その中に、データとしてBが入る

ダイナミック変数とは変数マーク$の次にさっきの固定変数$Aを書く・・・
ってことは

$$Aとなるのか?といえば、「正解なんです」

普通では考えにくいこの$$Aであるが

これは 変数記号$+$Aの中身つまりBで「$B」として、考える訳

それならば、$Aと同じではないか?

確かにそうである

ダイナミック変数の本当の使い方はこの後にある

まず$Aの中のデータを使い$Bをつくった、その後$Bに「データC」を打ち込む


コウすることにより
$BにCのデータが入る

本当であれば
$A=B
$B=C
と書かなければいけないモノが
$$A=C
の1文で済んでしまう

さらに$Aの中身だけ変えてしまえば
$Bが$Dにも$Fにも変えることが可能になる訳

こんな便利な方法にもかかわらず、考え方が難しいためなかなか理解されにくい
この方法をさらに応用した手法が「連想配列」という方法があるのだが
この話についてはまた今度


今日の教訓

 ダイナミック変数を制するモノはプログラムの最適化を制する
(日本語では動的変数と呼ぶ)

— posted by おおくす@ai2station at 02:03 am  

この記事に対するコメントはありません

このエントリーをはてなブックマークに追加
<< 2007.8 >>
SMTWTFS
   1 23 4
567 8 91011
12 131415161718
19 202122232425
26272829 3031 
 
T: Y: ALL:
Created in 0.0998 sec.