5
くっくっkura 🇯🇵 @PG_kura
”話を戻そう" の前まで読んで、Lua やってみたくなった。 / 『ゲーム作ってるとやっぱりグローバルなアレが欲しい。』 にゃおろぐ! ( nyaocat ’s diary ) http://d.hatena.ne.jp/nyaocat/20101028#1288268861
std::めるぽん @melponn
Lua は hoge = 10 ってやったときに、再代入なのか新規作成なのか区別が付かなくてバグるのが糞って Squirrel さんが言ってた
普通のC++使い、銀天すばる @SubaruG
つ require "strict" RT @melponn: Lua は hoge = 10 ってやったときに、再代入なのか新規作成なのか区別が付かなくてバグるのが糞って Squirrel さんが言ってた
@kambk
strict.lua使いましょうと反応しようと思ったらすばるセンセがすでに反応していた
@kambk
Squirrelってなんか重そうだけどスクリプトに軽さを求めるのもなんだけどでも軽い方がいいていうかじゃあV8使えみたいな
std::めるぽん @melponn
あとは何だろ、配列が無いぐらいかな、違いは。
std::めるぽん @melponn
@SubaruG これってコンパイルエラーにはならないんですか?
普通のC++使い、銀天すばる @SubaruG
@melponn 文字列リテラルやテーブルコンストラクタを唯一の引数にとる関数呼び出しは、イチイチ括弧を書かなくていいのです。
std::めるぽん @melponn
@SubaruG いえそうではなくて、require "strict" ってやっても a = 10 で a が無い場合にコンパイルエラーになるわけじゃないですよねと・・・
普通のC++使い、銀天すばる @SubaruG
@melponn コンパイル時検出はLuaとは相性悪いので不満点ですが、コンパイル遅くなるとLuaじゃないのでそればっかりは仕方ないですね。
普通のC++使い、銀天すばる @SubaruG
っていうか正直 Lua で再代入なんて滅多に行わないし…。 同一スコープで再宣言できる以上意味が無い。
普通のC++使い、銀天すばる @SubaruG
再代入する必要があるのは if 使った時だけだけど、その場合は local 宣言のすぐ近くになるわけだし?
std::めるぽん @melponn
まあつまり Squirrel で十分ってことですね!
普通のC++使い、銀天すばる @SubaruG
インクリメンタルGCを採用したLuaさんにスキはなかった。
std::めるぽん @melponn
本体のバイナリサイズとか、スクリプトのコンパイル後の大きさとかはどっちの方が小さいんだろうなぁ・・・
普通のC++使い、銀天すばる @SubaruG
言語自体の速度はもとより最速クラスだし、GCの最大停止時間もインクリメンタルGCで軽減。インクリメンタルGCってのはつまり、空き時間にGCを回せるってことで、鬼に金棒。
std::めるぽん @melponn
Squirrel さんは参照カウント+手動GCなので、ある程度は自動で回収してくれるっていう。
普通のC++使い、銀天すばる @SubaruG
lua は luac -s しないとデバッグ情報のせいで逆にサイズ肥大化しますね。 RT @melponn: 本体のバイナリサイズとか、スクリプトのコンパイル後の大きさとかはどっちの方が小さいんだろうなぁ・・・
普通のC++使い、銀天すばる @SubaruG
本体のサイズで Lua に適う言語はそう滅多に存在しないはず。っていうか必要な関数さえも削ってコンパクトにしてるのがLua。
普通のC++使い、銀天すばる @SubaruG
組み込みでも余裕で動くスクリプト言語は伊達じゃないってことですにゃ。
std::めるぽん @melponn
@SubaruG まあデバッグ時なら増えても構わないですね
残りを読む(25)

コメント

コメントがまだありません。感想を最初に伝えてみませんか?