eraシリーズ改造/バリアント開発の覚え書き

11月5日の雑記


カッとなって擬似的な連想配列を実装した。連想配列を使いたいシチュエーションはほぼ間違いなく「foreachしながら順にkeyとvalueを取り出して処理」というものなのでそれを実現するためだけの関数@ASSOCを作った。@ASSOCに文字列を渡して連想配列を生成したらあとは@EACH_ASSOCをコールするたびに内部ポインタ位置の値が広域変数AKEYとAVALUEにセットされて、内部ポインタが1ずつ進み、終端に達したら終了という仕組み。

ASSOC("FOO=1;BAR=2;FIZZ=8;BUZZ=32")
WHILE EACH_ASSOC()
    PRINTFORM %AKEY% = {AVALUE},
WEND

みたいにして使える。ただし一度に二個以上の連想配列を使うことはできない。これはまあそのうち参照テーブルの仕組みを作ってなんとかするしかないだろう。参照IDを変数に保持するとか、使い終わったら破棄するとか、やることが増えるのであんまり気は進まないが。
どのみち破棄については考えなきゃいけない。いまはめんどくさいので配列終端に達したら内部変数ともども自動的にリセットされるようにしているが、同じ配列を使いまわしたいというケースはあるだろうからそれはなんとかしたほうがいいだろう。
まともな出来になったら自作モジュールのとこにおいておくか。その前に参照テーブル実装しないといけないか。しかし参照テーブルみたいな仕組みを導入してはたして使いものになるんだろうか。試してみないとなんともいえないが、スクリプト側でやるこっちゃないよなーという気が。

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

リンク

漠々ト、獏
eramaker/eramaker2の開発元の公式サイト。

Emuera - emurator of eramaker
C#で書かれたeramakerのエミュレータ「Emuera」のプロジェクトページ。

eraシリーズを語るスレ まとめ
eraシリーズ全般のまとめ。バリアント情報、改造情報など。

eratoho まとめ
eramakerのバリアント「eratoho」のまとめ。

era板
eraシリーズについての掲示板。

サブページ

Rubiera
Bitbucket上のRubieraプロジェクトページ。Rubieraのソースコードのダウンロードはここで。

管理人/副管理人のみ編集できます