2011年08月31日のツイート

優先順位

例えば、このようなスクリプトがあったとします。

*define

numalias textclear,100
stralias textclear,"テキストクリア"
defsub textclear

game

*textclear
mesbox "テキストクリア","defsub"
return

*start

textclear

end
Q
さて、*start直後のtextclearでは、何が起こるでしょう?
A
メッセージボックスが出る。

念の為に、define節での宣言順番を変えてみても結果はかわりませんでした。
つまり、defsubはnumaliasやstraliasよりも優先的に解釈されることがわかりました。

luasubとの比較

system.luaを追加します。

-- system.lua
NSExec("luasub textclear")
function NSCOM_textclear()
	NSOkBox("テキストクリアー", "luasub")
end

この場合は、defsubよりもluasubが優先されました。

numaliasとstraliasでは?

*define

numalias textclear,10
stralias textclear,"テキストクリア"

game

*start

textclear

click
end

普通にtextclearとして解釈されて、何も起こりません。と言うよりも、必ず命令名として解釈されるようです。
何かの命令の後だったりすると、文脈によって適宜数値ないし文字列として解釈する、のが今回の結論と言うことで。

優先順位

例えば、このようなスクリプトがあったとします。

*define

numalias textclear,100
stralias textclear,"テキストクリア"
defsub textclear

game

*textclear
mesbox "テキストクリア","defsub"
return

*start

textclear

end
Q
さて、*start直後のtextclearでは、何が起こるでしょう?
A
メッセージボックスが出る。

念の為に、define節での宣言順番を変えてみても結果はかわりませんでした。
つまり、defsubはnumaliasやstraliasよりも優先的に解釈されることがわかりました。

luasubとの比較

system.luaを追加します。

-- system.lua
NSExec("luasub textclear")
function NSCOM_textclear()
	NSOkBox("テキストクリアー", "luasub")
end

この場合は、defsubよりもluasubが優先されました。

numaliasとstraliasでは?

*define

numalias textclear,10
stralias textclear,"テキストクリア"

game

*start

textclear

click
end

普通にtextclearとして解釈されて、何も起こりません。と言うよりも、必ず命令名として解釈されるようです。
何かの命令の後だったりすると、文脈によって適宜数値ないし文字列として解釈する、のが今回の結論と言うことで。

2011年08月31日のツイート

優先順位

例えば、このようなスクリプトがあったとします。

*define

numalias textclear,100
stralias textclear,"テキストクリア"
defsub textclear

game

*textclear
mesbox "テキストクリア","defsub"
return

*start

textclear

end
Q
さて、*start直後のtextclearでは、何が起こるでしょう?
A
メッセージボックスが出る。

念の為に、define節での宣言順番を変えてみても結果はかわりませんでした。
つまり、defsubはnumaliasやstraliasよりも優先的に解釈されることがわかりました。

luasubとの比較

system.luaを追加します。

-- system.lua
NSExec("luasub textclear")
function NSCOM_textclear()
	NSOkBox("テキストクリアー", "luasub")
end

この場合は、defsubよりもluasubが優先されました。

numaliasとstraliasでは?

*define

numalias textclear,10
stralias textclear,"テキストクリア"

game

*start

textclear

click
end

普通にtextclearとして解釈されて、何も起こりません。と言うよりも、必ず命令名として解釈されるようです。
何かの命令の後だったりすると、文脈によって適宜数値ないし文字列として解釈する、のが今回の結論と言うことで。

2011年08月31日のツイート