■
マスターアップはしたようです。よかったよかった。しかし今回の仕事はいろいろと思うところがありました…。
前回は、秋葉原のオフィスを出入りして、オタク業界の人々と触れ合うことができてなかなか楽しかったのですが、今回は、オフィスが遠い地に移転したため、仕事を進めるにあたって誰とも直接会ってません。ほぼすべてメッセ上でのやりとりで済ませました。そんな体制でもゲームは完成できる、ということはよくわかりましたが、やっぱり面白くはないですね。さらに同人ゲームということで大変な薄給で、そのあたりも不満材料ではあります。
吉里吉里では、オブジェクトは削除されてもnullポインタにはなりません。という事は納得できなくもありませんが、これはつまり、obj!==null
みたいなコードではオブジェクトが削除されているかどうかを判断できないということです。そのために、isvalid演算子があります。isvalid obj
またはobj isvalid
と書くことによって、そのオブジェクトが削除されているかどうかを調べることができます。ところが、isvalid演算子をnullポインタに対して使用すると例外が発生します。いやそんなの普通にfalseで良くないですか? なんでわざわざ例外を出すのかと…。そんなわけで、次のようなキモイコードを書いてしまうことになります。
if(omake !== null) if(omake isvalid) if(omake.mutimer !== null) if(omake.mutimer isvalid) invalidate omake.mutimer;
まあこうでもいいか。
if(omake !== null && omake isvalid && omake.mutimer !== null && omake.mutimer isvalid) invalidate omake.mutimer;
始めからこういうアドホックなソースを書かなければいいという説もある。