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も破棄されて未初期化となるので、そのときはあらためて配列が生成されるから問題ない。
コメントをかく