返信 |
それと、こちらは仕様なのかバグなのかわからないのですが gsc_Funcで@付きの関数名を登録した後、そのスコープ内で@無しで呼び出すとエラーが発生するようです バグであれば修正のほどお願いします gsc_Func "testfunc@testscope", *funcProc, GSMD_VALUE mes gsc_Eval({"#name testscope testfunc 123 #endname"}) stop *funcProc : return |
F (2015/09/30 09:12) : [1048] |
名前空間は定義、変数、ラベルのみで、命令や関数に使用することは想定していません。 なのでエラーが出るのはある意味仕様ではあるものの…コレどうしましょうか? |
mon (2015/09/30 20:29) : [1050] |
命令や関数に名前空間を適用すると、testscope内のtestfuncが命令として認識されるようになりますが、空間外のtestfuncは変数として認識されます。 この解釈はHSPの仕様に合わせたものですが、空間外のtestfuncは特殊な予約語のような扱いにして蹴るほうがいいでしょうか? |
mon (2015/09/30 20:32) : [1051] |
そこまでは考えていませんでしたが、空間外のtestfuncを蹴ってしまうと名前空間の価値が薄れてしまうと思うので個人的には蹴らないでくれると嬉しいです | F (2015/10/01 20:11) : [1053] |
とりあえず命令と関数に空間名を使用できるようにしてみました。 同名(例えばtestfuncとtestfunc@a)の命令がある場合は名前空間の一致するほうが優先されます。 |
mon (2015/10/09 21:54) : [1054] |