splitの実験

 NScripterにおける文字列分割命令splitについて調べた。

書式

split, $0,"/",$1...

$0には、分割対象の文字列が入る。
"/"の部分は、半角文字一文字に限定される。
それ以降の第3引数以降は、オプションでいくらでも追加でき、分割した文字列や数値を格納する変数を連ねる。

疑問点

  1. 第3引数以下に、同じ変数を繰り返し指定するとどうなるか。
  2. 引数はいくつまで作れるか。

 上記2点を検証してみた。

先取りした結論

1について。

同じ変数を繰り返し指定すると、その変数に入るのは、最後に記述された位置のものになる。

mov "あ/い","/",$0,$0
$0@

 上記のようにした場合、「い」と表示される。

2について。

 検証に使ったスクリプトでは、409分割までは可能だった。
 この場合、分割対象になる文字列の長さが、2,044(=409*4+408)で、それ以上の長さは一度に代入できなかったのでこの限界になった。

応用

 splitの上記の性質を利用して(スクリプトが膨大になるが)、たとえば、RPGSLGのキャラクターやユニットのパラメータを、一つの文字列変数に押し込んでしまうなどの利用法が考えられる。