いや、まだだから

やまだの仮想庭園 ~ いつか実体の伴う日まで

目次

Blog 利用状況

記事カテゴリ

書庫

日記カテゴリ

リンク

2008年3月20日 #

状態遷移と動作遷移

いんすぱいあーど:凪瀬 Blog電卓の話で妄想したこと
#というより、おおもとは土曜日の公開チャット(笑)だったりしますが。

えーと、Blog にmyugaruさんちで知ったココロとか入れてみたんですが、そっこーでRさんにぺたぺたされてました。
いろんな意味で、私のココロがよごされてしまったような気がするのは内緒の昨今、皆様いかがお過ごしでしょうか。

 

で、本題です。

凪瀬さんが電卓の話に関連して「キューで実現できないかなぁ」とおっしゃってたのに対し、「いや、電卓だったらキューよりスタックなんじゃ?」とか私が返してたです。

そのとき、私の頭の中には逆ポーランド電卓しかなかったです。いや、ついていくのが精一杯で、何も考えてなかったに等しかったり。ああいうときに空白があくと妙に気になるので、とにかく何か書かなきゃ状態で。そういう私は関西人(笑)

#ごめんねさい、ごめんねさい、ごめんねさい > リアルタイムで見ていた方、ログ入手された方。

 

で、凪瀬さんがエントリあげたので乗っかってみようかと。

といっても、このエントリの内容、いまいち把握しきれていません。なので、ここからはやまだ流の妄想ということで。

#妄想なので、「結局、何が書きたいのかよくわかりません」って反応が一番予想できるけど……。

 

電卓祭りのときもそうでしたが、「こういうものは状態遷移図を利用すると、すっきり表現できますよ」って話になったりします。

状態遷移の考え方を否定する気はさらさらないです。というか、むしろ肯定派。でも、それ以外の考え方ってないのかな、と。

で、遷移で管理するのは何も「状態」に限る必要はないかな、と思ったりしたわけで、「動作遷移」ということばを考えてみました。

 

たとえば以下のようなコードがあったとします。

image

これだと if 文の嵐となって収拾つかなくなるから状態ごとに管理しましょう、それは良いんです。でも、if文を減らすテクニックとして考えると、それだけじゃないはず。

このコードが実行されるときって、どういうイベントが起こったかは確定しているはず。じゃあ、そのイベントに応じて、コードが差し替えられていく(遷移する)ことによっても、if 文を減らす効果はありそうだな、と。

特に電卓なんか、押すボタンによってダイナミックにコードが書き換えられていくと面白いものになったりしないかなー、と。

じゃ、具体的にそのサンプルを示してみろ、というとあまりまとまらないんですけどね。だから「妄想」だったりします。

 

まあ、要するに C でいうところの「函数ポインタ」というところに落ち着いちゃうかもしれませんが……。

Java とか .NET の世界だとリフレクションとかすぐそういう話になるんですが、アセンブラで考えると自分のプログラムを書き換えるようなコードも普通に書けるんですよね。もちろん、不用意に行うとバグの温床になったりしますが。

#ちょっと最近個人的にやりたいことがあって、発想がアセンブリ寄りだったりします。

> とりあえず、今日は妄想だけ放出ということで。

同じく。

でも、私の方の妄想に収拾がつく日は来ないかもしれません…… orz

posted @ 15:16 | Feedback (4)