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

SPLITを利用した文字列配列の初期値代入


SPLIT関数は分割した文字列を配列に代入してくれる。

SPLIT "快C;快V;快A;快B;快M;潤滑", ";", LOCALS
LOCAL = RESULT ; RESULTに分割数が入っている
REPEAT LOCAL
    PRINTFORM %LOCALS:COUNT%:{PALAM:(LOCALS:COUNT)}
REND

単純に好みの問題ともいえるが、個人的には区切り文字に","を使うのは避けた方がいいと思っている。「…反感,不快,抑鬱", ",",…」のように続くと、見た目が紛らわしい感じがする。例では";"にしたが、"/"や"|"でもいいだろう。
数値型配列の場合は多値代入があるので、一度に配列を初期化したりしやすいが、文字列の場合はそうはいかない。そういうときにSPLIT関数が非常に役に立つ。

ところで、参照目的の配列生成の場合、何度もSPLITを呼び出すのはちょっと、ということもありそうだ。そういうときは、こういう手もある。

#DIM SIZE
IF SIZE == 0
    SPLIT "快C;快V;快A;快B;快M;潤滑", ";", LOCALS
    SIZE = RESULT
ENDIF

LOCALSが変更されないなら、一度作ったらそれをずっと参照すればよい。ロードやリセットによってLOCALSが破棄された場合は当然SIZEも破棄されて未初期化となるので、そのときはあらためて配列が生成されるから問題ない。

コメントをかく


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

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

リンク

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

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

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

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

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

サブページ

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

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