midの動作確認

midの動作確認をしてみた。
midは文字列の途中を切り取る効果がある。では、ない部分を切り取ろうとするとどうなるだろうか。
調べてみた。

スクリプト

*define
game
*start
MIDの実験
mov $0,"長い長い文字列2"
$0
mid $1,$0,0,6
$1
mid $1,$0,6,6
$1
mid $1,$0,12,6
$1
mid $1,$0,18,6
$1
\
end

結果

(なんかFotolifeが動かないので手書きで。)

MIDの実験
長い長い文字列
長い長
い文字
列2
列2

判明した点

切り取られる文字列の長さが、切り取るべき文字列よりも短ければ、短くした分を持ってくる。これはいい。しかし、切り取られる文字列の文字のない部分を指定すると、結果を受け取る変数(この場合は$0)を何もせずに返してしまう。この仕様はちょっと注意が必要だ。

回避方法

結果を受け取る変数は、常に初期化してから渡すこと。