>Velgailさん
>>使えると考えないほうがいいかと。
>>"/me Hello World!"
>>ってやった時の動作がひどいことになるので
たしかにあのままの何も工夫しない状態だとそのような動作になりますね
>InoueSoftwearさん
なにも検索する必要なんてないんですよ
"/me Hello World!"
の Hello と World の間にある空白が区切り文字ではない
つまり /me の引数は一つしかなくてその引数を"Hello World!"と考えるなら
結合してしまえばいいことなのでは?
#enum CMD_ME = 0
#enum CMD_MES
cmd = "/me", "/mes"
cmdParamLen = 1, 1
cmdLength = length(cmd)
text = "/me く う は く な ん て な ん の そ の"
// text = "/mes く う は く な ん て な ん の そ の"
// text = "/mes く"
split text, " ", prm
prmLength = length(prm)
dim cmdCount, cmdLength
repeat prmLength
for i, 0, cmdLength, 1
if cmd.i == prm.cnt {
cmdCount.i++
if cmdCount.i < cmdParamLen.i :_continue
cmdId = i
gosub *findCommand
}
next
loop
stop
*findCommand
switch cmdId
case CMD_ME
if cmdParamLen.cmdId < prmLength-1 {
repeat prmLength-cmdParamLen.cmdId-1, cmdParamLen.cmdId+1
prm.cmdParamLen(cmdId) += " "+ prm.cnt
loop
}
mes "["+ prm.1 +"]"
swbreak
case CMD_MES
if cmdParamLen.cmdId < prmLength-1 {
mes "引数が多いです"
swbreak
}
mes "["+ prm.1 +"]"
swbreak
swend
return
私はなにも可能性の一つを提示したにすぎません
このコードで何か新しい考えをスレ主に提供するだけです。
スレ主自体が否定するならともかく、
他の人が安易にその新しい考えを つむ or 否定 するべきではないんではないでしょうか
一番いい方法を求めているわけではないでしょうし、
色々な命令の使い方を知っておくのも、のちの自分のためにもなるやもしれませんし
長文しつれいしました。