Websockets で動作する小さなマルチプレイヤー アプリがあります。このアプリケーションは、ゲーム オブジェクトとチャット オブジェクトで構成され、それぞれに固有のメソッドがあります。
基本的に、クライアントは :"object,method,arg1,arg2"
のような形式のメッセージ文字列を受け取ります。これは、たとえば "chat,newMsg,foo bar" や "game,addPlayer,name,level,team" などです。最初の例は次のように変換する必要がありますがchat.newMsg("foo bar");
、2 番目の例は次のようになりgame.addPlayer(name,level,team);
ます。
私は次のような最もエレガントなソリューションを見つけようとしています:
var msgreader = function(message){
msg=message.split(",");
msg[1].apply(msg[0],msg[2]);
}
しかし、私のメッセージには多くの引数が含まれている可能性があり、それを処理する方法がよくわかりません。誰でも私を助けることができますか?eval() は使いません^^