http://unkun.ikaduchi.com/excel_bf/index.html
Excelの関数だけで、VBAを使用せずに作りました。
簡単な説明は以下。
- mainワークシート
入力用の文字列はここで設定できる。
- jump_tableワークシート
アルゴリズム的には
<1>"["が現れたら、その位置をスタックにpush。
<2>"]"が現れたら、スタックをpopして得られた位置をジャンプ先に設定する。
<3>最後に"["の位置をジャンプ先に設定している"]"の位置をジャンプ先に設定する。
- step_execワークシート
シートを見ればわかるが、ステップは1024回まで、メモリ領域は16個までしかない(改造すれば広がる)。
jump_tableシートから、プログラムを順番に実行していき、"["や"]"が現れたら、ジャンプ先を参照してループしたり、しなかったりする。
- 全体的に
参照するデータ = 引数、 セルの数式 = 関数、と考えれば、関数型言語であると言ってもいいんじゃないかな?
エレガントなExcelの関数の書き方がわからない・・・。
0 件のコメント:
コメントを投稿