- 1 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 13:13:52 ]
- だれか サポ−ト 頼む。
前々スレ pc5.2ch.net/tech/kako/1034/10341/1034182349.html 前スレ pc8.2ch.net/test/read.cgi/tech/1063711237/ 本家 www.lua.org/ lua-users lua-users.org/ LuaForge luaforge.net/ Lua 5.1 リファレンスマニュアル(日本語訳) sugarpot.sakura.ne.jp/yuno/html/lua51_manual_ja.html
- 879 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 02:02:22 ]
- binderなんていらないね
なんでもいいけど一行でcallできるのと 一行でnative closure登録できるようにしとけば 他はほとんどつかわんよ
- 880 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 06:28:46 ]
- >>879
それを人はバインダと呼ぶ
- 881 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 11:54:53 ]
- Lua5.1.3のlstrlibのSJIS化してみたので置いときます
ttp://colon.nsf.jp/lua/ MSVC用なんで需要なさそうだけど^^
- 882 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 12:48:58 ]
- >>881
ソースコードのほうはいいけど、test.luaのほうの文字コードがぶっ壊れてるように見えるんですが。 str = "\\5爐!Eェ殉\\}柔檻5\"xさぜ\"ェ殉柔爐さ檻Exぜ!}" pat = "[^檻]*" testf( 1, str, pat, "xさぜ\"ェ殉柔爐さ" ) これってテスト用だからわざとだったりします? でも、SJISじゃないって警告が8箇所出てたりもします。
- 883 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 13:13:04 ]
- すいません。わざとです。
漢字コードの境界部分を多く含むようにしてあるので フォントによっては表示すらできません
- 884 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 14:01:30 ]
- SquirrelのGCは参照カウンタ型か・・・
GCの負荷を分散するわけだからどうしても重くなるよね。 やっぱLuaかな・・・
- 885 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 14:17:15 ]
- >>884
つ ベンチマーク って、ゲームとかの組み込みだろうから、単純計算しても参考にならんわな。 実際の簡単なゲームの比較ベンチマークでもあれば、いんだろうけどね。
- 886 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 14:35:37 ]
- なんでマイノリティの参照カウンタ型採用しちゃったんだろ?
当然参照カウンタ型のデメリットも把握してたはずだが・・・ 一般的なLua型にもデメリットはあるが今現在 決定的なアルゴリズムはないのだからとりあえず一般的な型(Lua型) にしときゃよかったのに。
- 887 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 15:14:03 ]
- んー。確か、Squirrelを作った理由に、LuaのGCの挙動にブチギレたってのも合ったはず。
どっかに記事なかったかな。
- 888 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 15:17:21 ]
- ゲーム用途に組み込む人は解放のタイミングが確実な参照カウンタのほうを好む気がする
- 889 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 15:28:28 ]
- マシンはどんどこリッチになるしな
特にPCは 専用機(コンソール)だと各世代の寿命と段差が大きいが
- 890 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 16:46:14 ]
- 大体Squirrelはマーク&スィープGC積んでるんだから、それでもあえて
リファレンスカウントを選んだのはちゃんと理由はある。 wiki.squirrel-lang.org/default.aspx/SquirrelWiki/LuaComparedToSquirrel.html 俺がSquirrelを使ってる理由はリファレンスカウントだから。理由は>>888。 巨大なリソースを組み込みスクリプト側で扱う設計にしてるなら、リファレンスカウント のありがたみが分かるはず。 折角GCつき言語採用してるのに、リソース開放のためにdispose()とかダサいよ。
- 891 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 16:55:03 ]
- luaにネイティブ整数型がないのはときどき困る。
- 892 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 20:00:03 ]
- チラシの裏。
Squirrelバインダ製作中。とりあえずC++からSquirrel呼び出しは、 SquirrelVM vm; int value = sq_cast<int>( vm.getRootTable()[ "foo" ] ); vm.getRootTable()[ "bar" ] = "BarString"; vm.getRootTable()[ "setPosition" ]( 1.0f, 2.0f ); vm.beginCall( vm.getRootTable[ "setPosition" ] ) .param( 1.0f ) .param( 1.0f ) .endCall(); みたいな感じに。 SquirrelからC++呼び出しが面倒くさい。Sqplusみたいにテンプレートを駆使した バインダにするか、それともネイティブクロージャを楽に登録できるようにするだけに するか、悩みどころ。
- 893 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 07:50:12 ]
- >>890
まあ「俺の好みだからほっとけ!」いわれればもうなにもいうことないけど リファレンスカウント型には毎度のカウンタ操作による負担が重いという弱点があり そこを嫌われてマイノリティなのは事実だから仕方ないよ。
- 894 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 08:58:58 ]
- >>893
マイノリティか?海外で大人気のPythonは参照カウント&GC式だぞ。Squirrelと同じ。 Pythonのスタックレス版はどっかのネトゲのサーバーに使われてたはず。 >毎度のカウンタ操作による負担が重いという弱点 これそのままメリットなんだよね。マーク&スイープGCは回収している間プログラムが とまるって事実は忘れちゃいけない。参照カウントはGCのコストをちょっとずつ払って いるから、止まることは無い。 一般的に嫌われてるってのはただ単に>>893の個人的な感想じゃないか? 両者のメリット・デメリットを把握して運用するのが重要だと思う。
- 895 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 09:44:53 ]
- >>894
PHPとかIoもやね。あとObjective-Cも。
- 896 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 11:17:30 ]
- ちょうどそんな話題がPythonスレに出てたよ
ttp://pc11.2ch.net/test/read.cgi/tech/1203611273/182
- 897 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 14:32:21 ]
- >>896
凄くみにくい言い争いに発展してるんだがwww
- 898 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 19:00:16 ]
- >>896
参照カウントにも利点があることが分かったよ。なんとなく。 あと、英語が読めないと開き直ることに、利点がないのも分かった。はっきりと。
- 899 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 20:15:59 ]
- チラシの裏。
Squirrelバインダ製作中。ただ、作ってるうちにSqPlusへの理解が深まったせいで、SqPlus 使えばいいんじゃね?みたいな雰囲気に。もうだめぽ とりあえず DefineClass< SampleClass >( "SampleClass", vm ) .constructor() .method( "testFunction", &SampleClass::testFunction ) .method( "testFunction2", &SampleClass::testFunction2 ); のようにバインドできるようにしたけど、これから作りこんでいくかどうか悩んでる。 メンバ関数ポインタの配列をsq_get/settypetagを使って設定してるけど、 使い方間違ってるぽ\(^o^)/オワタ
- 900 名前:デフォルトの名無しさん mailto:881 [2008/03/04(火) 00:46:02 ]
- 日本語変数名つかえるようにしたのと入れ替えました
さらに需要ないんだろうなあ
- 901 名前:881 mailto:sage [2008/03/04(火) 00:50:25 ]
- すいません。間違えてあげちゃいました。
メール欄に881ってw
- 902 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 07:56:42 ]
- >>894
うーん、この辺が入門としてはお勧めかな。 ttp://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?ISBN=4-274-13308-7 割と大きい図書館ならおいてあるよ。 マーク&すいーぷの欠点はそのとおり。
- 903 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 08:42:52 ]
- Squirrelのバインダなんだが、C++からエクスポートするときのインターフェイスに悩んでる。
どっちがいいかな?とアンケート。 1. void foo( cpp_ptr<TestClass> arg ) {
- 904 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 08:45:23 ]
- xtal使いやすいよ。
- 905 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 08:55:51 ]
- うわ途中で送信しちまったい。
1. void foo( cpp_ptr<TestClass> arg ) { /*なにか処理*/ } 2. void foo( TestClass* arg ) { /*何か処理*/ } //ヘッダファイルのどこか SQPP_DECLARE_CLASS( TestClass ); 2はSqPlusと同じ方法。1は代替案って感じ。 基本型以外は全部C++のクラスと仮定してエクスポートしてもいいんだけど… (そうしたらSQPP_DECLARE_CLASSいらない)
- 906 名前:デフォルトの名無しさん [2008/03/04(火) 13:18:02 ]
- 参照カウント式が特段優れたものではないということは確か。
というか逃げられない(GCしないという選択肢がない)分、有害ですらありうるな。
- 907 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 13:31:54 ]
- 話が盛りあがっているところ申し訳無いのですが
GC一般の話題は専用スレがあります。 過疎スレですからそちらを使って頂けないでしょうか。 Garbage Collection (GC)について語るスレ pc11.2ch.net/test/read.cgi/tech/1141646850/
- 908 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 13:47:30 ]
- >>905
1
- 909 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 14:15:57 ]
- >>906
GC使わないようなコード書くなら、組み込み言語使う意味が大幅に薄れるような。 そんな涙ぐましい努力をするくらいなら最初からC/C++で書くよ。 俺も参照カウントが優れた方法だとは思わないが、こと組み込み向けならば メリットがあると個人的には思うよ。
- 910 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 01:08:52 ]
- LuaのインクリメンタルMark&Sweepの実装も
マジックナンバーばっかで何を根拠に調整してんのか よくわからんしなぁ。
|

|