- 1 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 09:11:41 ]
- LuaやSquirrelなどアプリケーションへの組み込み用途で
使われるプログラミング言語についてのスレッドです まとめwiki(なにか質問する前に必ずみること!) wikiwiki.jp/lua/ その他の参考URLは>2から ■前スレ 【Lua】組み込み系言語総合【Squirrel】 pc12.2ch.net/test/read.cgi/tech/1205208141/ ■過去スレ その3 pc11.2ch.net/test/read.cgi/tech/1160799232/ その2 pc8.2ch.net/test/read.cgi/tech/1063711237/ その1 pc5.2ch.net/tech/kako/1034/10341/1034182349.html
- 171 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 14:30:54 ]
- IronPythonはLuaより倍ほど速いがな。(2.0.1)の場合。
2.6系ならさらに速くなってる。 ただし速いのは数値計算で、文字列計算などはPythonより遅かったりするが。
- 172 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 15:36:57 ]
- 組み込み言語って
「Cで書いた (だから速い)」と喧伝しながらこっそりと組み込むものではないのか?
- 173 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 15:43:13 ]
- たぶn Luaやリス使っている人はゲームの組み込みが多いと思われるのですが、
Pythonを組み込みに使っている人は、どんなアプリに使ってますか?
- 174 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 17:14:54 ]
- >>171
マジで!? IronPython スゴイんだな。 数値計算に関してなら、以前に計測したとき Lua は Python より2〜5倍速かったんだけど。 数値計算については .NET すごいということなのかな?
- 175 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 19:32:49 ]
- LuaJITとかCに比べたら桁違いに遅いんじゃない?
- 176 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 19:37:08 ]
- というか、Cで各プログラムと速度面で執拗に比較するやつがいるが、意味が分からない。
C/C++にスクリプト言語の動作を追加するのは柔軟性を増やすことで 開発・運用を容易にするためであって速度のためではない。 スクリプト言語で実装した部分が重いなら改めてC/C++側に移植することを考えればいいだけのこと。
- 177 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 19:43:51 ]
- ユーザがプログラムを拡張するのに使えるだろ
- 178 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 19:55:55 ]
- 組込み言語に今注目してる業界にゲーム業界があるが、
ユーザによる拡張をばりばり推進するぜ派(洋ゲー、リアルタイム物メイン)と、 そんなもん完全にアウトオブ眼中だぜ派(和ゲー、アドベンチャー系メイン)で、 まっぷたつですな。
- 179 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 20:10:01 ]
- 社風の違いだからどうにもならない。
プログラマの部長級が開放的という幸運なケースであってさえ、 総務営業やら会社も巻き込むとやっぱり日本的感覚で ゲームの内情を客に見せるのは御法度になるね。 プログラマ出身のワンマン社長のところしかありえないでしょう。
- 180 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 09:18:47 ]
- プラットフォームの違いもある。
洋ゲーと言えども、360やPS3でMODを許しているものは少ないだろう。 >>178の(和ゲー、アドベンチャー系メイン)ってPCのエロゲ・ギャルゲのことを 指してるんだろうけど、俺としては違和感があるなぁ。
- 181 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 23:34:31 ]
- ttp://www.amazon.co.jp/Programming-Lua-プログラミング言語Lua公式解説書-Roberto-Ierusalimschy/dp/4048677977/
この本持ってる人いる? luaを始めて見ようと思ってamazonで検索して出てきて最新ぽいから買おうと思ってるんだけど
- 182 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 21:34:58 ]
- >>181
読んでみようと思って大きな本屋まで行ってきたが、 SQLiteの本とDirectXの本読んでたら満足しちゃってそのまま帰ってきてしまった。
- 183 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 05:14:33 ]
- >>181
リファレンスマニュアルの日本語訳も収録してるなら長く使えそうかも。 リファレンス読んでよくわからないところを本文で確認とかできそうだし。 sugarpot.sakura.ne.jp/yuno/html/lua51_manual_ja.html よくここにお世話になるんだけど、内容が古いのか、 本家の英語版にくらべると結構抜けがあるんだよね。
- 184 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 10:12:06 ]
- >>182
おいw
- 185 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 18:27:44 ]
- ttp://blog-imgs-26.fc2.com/d/i/n/dinalia/WS000206.jpg
このSSで使用してるソフトご存知の方いたら教えていただけませんか
- 186 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 21:15:21 ]
- ttp://mystone.jp/
ttp://tibid.seesaa.net/
- 187 名前:186 mailto:sage [2009/09/17(木) 21:23:49 ]
- もしかしてエディタの方なら
ttp://www.vector.co.jp/vpack/browse/pickup/pw7/pw007523.html
- 188 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 21:23:50 ]
- >>185
NoEditor
- 189 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 12:39:47 ]
- ご回答ありがとうごじあましたー
- 190 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 16:57:06 ]
- メインアプリ起動後に裏で常にLuaを複数同時に動かして
プラグインのようなことをさせたいのですが 何か参考になるサイトやソースコードはないでしょうか?
- 191 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 06:26:45 ]
- >>190
メインと切り離す必要が本当にあるならプロセス間通信。 メインの内部で別スレッドを作って回すだけでいいならマルチスレッド。
- 192 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 09:17:46 ]
- マルチスレッドだと今度はリソースのロックとかがめんどくさいから、
コルーチンで協調的マルチスレッドにするとかどうですか?
- 193 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 09:51:46 ]
- >>191-192
貴重な意見ありがとうございます コルーチンで実装してみて上手く行かないようなら マルチスレッドを試す方向で行こうと思います
- 194 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 14:57:40 ]
- オレの場合、最初はコルーチンで実装してたが早々にCPUリソースが足りなくなって
マルチスレッドに移行したがな。 ゲームで使用するリソースを開始前に一括してロードするような FPS的な仕様にしないと単独スレッドの実装は難しい。
- 195 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 13:19:32 ]
- >>190が言ってるような
一つのソフト上で同時に複数の Luaスクリプトを動かす事って可能なの? 変数やスタックがバッティングしそうな気もするし 実際そういうことをしてるアプリ見たことないな
- 196 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 13:21:09 ]
- lua_Stateを複数作ってそれぞれ別管理すればいいだけじゃ?
- 197 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 13:59:39 ]
- ですね。
Luaはインタプリタの状態がグローバルにならない作りになってる。
- 198 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 21:44:36 ]
- V8も以前は・・・
- 199 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 09:55:14 ]
- Lua Programming Gems に、
Lua のコルーチンを改造してマルチスレッドにするという記事があるみたい。 www.lua.org/gems/ 本は読んでないけど、サンプルコードがダウンロードできる。 Enhanced Coroutines in Lua Patrick Rapin
- 200 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 14:32:03 ]
- 何かが引っかかると思ったら、コルーチンでLuaを複数回して
更にLua内でもコルーチンを使うからか なんか富豪だな
- 201 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 15:38:36 ]
- 総合的な処理速度はSquirrelとLuaではどちらが上ですか?
- 202 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 15:49:56 ]
- >>201
単純な数値計算ではLuaの方が倍くらい早い。 が、いずれにせよCなどの静的型付言語よりは10分の1以下のスピードなので、 あまりヘビーな処理はさせないようにすること。 とはいえ、80:20の法則で大部分のコードはスクリプト側に移行できるはず。 処理能力が足りなくなったら下回りからC/C++に再度移植していく。
- 203 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 15:55:21 ]
- >>202
そうですか、一見するとSquirrelはLuaの欠点を補い 構文もC/C++に近いなど利点ばかりかと思っていたけど それなりに欠点があってゲーム用に改良された割には 未だ使用例が少ないのが現状みたいですね
- 204 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 16:14:07 ]
- >>203
いや、C++で書いてたころは普通にSquirrel使ってたよ。 とりあえず基本的なレベルでの不満はない。 オブジェクトの寿命は常に問題になるけどね。 今はもうC++でプログラムは書かないようにしてるから関係なくなった。
- 205 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 18:40:24 ]
- >>204
気になるなw > 今はもうC++でプログラムは書かないようにしてるから関係なくなった。 今は何で書いてるんですか? .NET系?
- 206 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 05:46:32 ]
- >>204
C#+IronPythonだ。レポはこのスレに何回も書いてるのでログを見てくれ。 しかし静的型付言語でいいならBooでもいいかも……(はっきり言ってこっちの方が速いし) まあ今回は途中まで作ったからIronPythonでやってしまう予定だけど。
- 207 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 05:47:14 ]
- 204 → 205
- 208 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 12:21:55 ]
- Luaステートを増やした(同時実行した)場合のGC負荷は
単純計算でステート数分増えるのかな? 検証してるサイトないか探したけど見当たらない
- 209 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 12:29:14 ]
- そりゃ当たり前のことを検証する人は居ないだろう
- 210 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 13:35:48 ]
- たまにLuaではcontinueやbreakは出来ないが
それを可能にするパッチがある、とあるけど 実際どこで配布されてます? ここ数日ずっと探してるけど見つからず
- 211 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 16:57:50 ]
- breakはできるだろ
continueは lua-users.org/wiki/LuaPowerPatches とか lua-users.org/lists/lua-l/2009-06/msg00331.html だな。
- 212 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 18:56:28 ]
- 初心者な質問なのですが、
VC++6.0でLua環境を構築しています。 「スクリプト言語による効率的ゲーム開発- C/C++へのLua組込み実践」 の中で 紹介されているtolua++を適応しています。 あるクラスの関数をtolua++を用いてLuaに公開しようと実装したのですが、 extern宣言した関数がリンカエラーでビルドする事が出来ません。 やりたい事は下記の様な感じです。 class CHoge { public: char* GetName( CHage* pHage ); }; このGetName関数をtolua++でグルーコードに出力して、 VCのプロジェクトに登録しています。 出力したグルーコードに記述されている、GetName関数がリンカエラーになってしまいます。 *今はグローバル関数にして、extern宣言で対応しています。 クラスの関数をLuaに公開するには何か特別な方法が必要なのでしょうか? 上記の本にはクラスの関数の場合について記述されていない様なので質問しました。 宜しくお願いします。
- 213 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 20:20:58 ]
- >>211
thx、無事適用完了しました
- 214 名前:デフォルトの名無しさん mailto:sage [2009/10/06(火) 04:29:51 ]
- >>212
www.codenix.com/~tolua/tolua++.html#classes ここみると、クラスごとバインドするしかなさそう。 あるいは、登録したい関数をクラスメソッド(static 宣言)にするといいのかな。
- 215 名前:デフォルトの名無しさん mailto:sage [2009/10/06(火) 17:54:33 ]
- Luaでチャンクの区切りを改行ではなく ; (セミコロン)にしたいのだけど
それを可能にするパッチとか出てたりします? 自分で改造しようにも手に負えなくて
- 216 名前:デフォルトの名無しさん mailto:sage [2009/10/06(火) 18:01:45 ]
- 配列を0から扱えるように悪銭苦闘したオレに似てるな
オレの場合は自力でやったけど複雑過ぎて無理だった orz Luaってなんで配列が1からなのかね いまでもムズムズ、どうにかならないものか
- 217 名前:デフォルトの名無しさん mailto:sage [2009/10/06(火) 18:28:12 ]
- lparser.cのstatement()のswitch文のreturnの前に
check(ls, ';'); って書けばいいんじゃないかな
- 218 名前:デフォルトの名無しさん mailto:sage [2009/10/06(火) 22:06:32 ]
- 社会常識は1からだからな。
- 219 名前:デフォルトの名無しさん mailto:sage [2009/10/06(火) 23:39:10 ]
- マジでLuaの配列を0から扱えるようにするpatchありませんかね?
- 220 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 01:28:23 ]
- >>214
回答ありがとうございます。 クラスのバインドで試してみます。
- 221 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 12:03:44 ]
- >>216
ニューメリカルレシピ・イン・C っていう本にその逆のことが書いてあったな。 一般的な数学では添え字は 1 からはじまるのに C だと 0 からだから困ると。 で、その本では添え字を 1 から始めるように、配列のポインタを 1 つ前にずらしてた。 つまり、int arr[10] みたいな配列をつくったら、 int *arr1 = arr - 1 と定義しておけば、arr1[1]、arr1[2]、……、arr1[10] っていうふうにアクセスできる。
- 222 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 12:29:33 ]
- Fortranな人のための小ワザだけど、
厳密には、配列の範囲から外れたところを指してるポインタに まつわる動作は未定義なので、仕様に煩い人には不評。 (C FAQ より ttp://c-faq.com/aryptr/non0based.html )
- 223 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 13:11:48 ]
- >>215
>>219 SquirrelとかAngelScriptじゃダメなの?
- 224 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 13:16:16 ]
- そもそも0とか1とかいうマジックナンバーを使ってはいけない。
パッチではなく、リファクタリングするべき。 #define FIRST 1
- 225 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 13:16:36 ]
- 言語はそのままの仕様で使うのが無難ではあるよなー
- 226 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 13:21:29 ]
- >>223
Lua以外にするとメモリ消費や処理速度が劣ってしまうのが嫌で やっぱり仕様に従って使うしかないですか
- 227 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 14:04:47 ]
- ∩∩ ;
;|ノ||` ┬-‖ __,/●●| __ | | ‖ L...Lua.. | ; |`(_●)/ ミ . Y ‖ | .彡|∪||、 , .| | ‖ /:~ ̄ ̄ ̄ ̄:/.| | ‖ ,|:::::. .......::/>> / ‖ /.::::: .. ...::::::|'(/\_/ ‖ ../:.::: .. :.:::/.:/ /‖\ /.:::. ....:::..:::/.:/ ' ̄ ̄ ̄ ̄ ̄ _/ |_| ̄ ̄ ̄ ̄|_|
- 228 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 18:31:00 ]
- BASICでも配列作ると0からなのに・・・・
- 229 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 18:57:15 ]
- ここは中間をとって0.5に
- 230 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 19:28:51 ]
- BASIC はたいていの実装が OPTION BASE とかで配列の開始インデックスを変更できるぜ
- 231 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 20:37:21 ]
- もう連想配列だけにしちゃおうぜ
- 232 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 23:24:33 ]
- >>230
なつかしすぎてどっかから鼻血でたわw
- 233 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 23:41:07 ]
- 0からってのはポインタ的な発想で好かんわ
- 234 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 13:50:08 ]
- Pythonでシステム組んでるが、配列のインデクスが何番からかほとんど意識することないな。
for文ではそのままイテレータをまわしてしまうし。
- 235 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 19:50:43 ]
- Lua標準だと1ステートあたりのスタックサイズは1Kだけど
消費を抑えたくて手動設定する場合 どれくらいの値がベストだろう?
- 236 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 23:42:36 ]
- デフォで使用メモリ量が80MBを越える俺の構築した処理系からすれば、
数十キロバイトの仮想スタックなんて小さな問題だ。
- 237 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 01:41:47 ]
- 新しい必殺技を思いついた
>>236 に捧ぐ "O"zapper!!
- 238 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 03:42:20 ]
- 次こそはうまくやりますコンピューター!
- 239 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 19:42:49 ]
- >>232
「どっかから」てお前はケツから鼻血がでるのかよw >>236 RubyでフレームワークとしてRailsを搭載したかのようなメモリ消費量だなおいw
- 240 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 19:52:53 ]
- >>239
IronPythonがもりもりメモリ食うからな。 ほんと環境にやさしくないスクリプトエンジンだぜ。 まあ、C#で組むにはこれが一番「普通」なスクリプティングエンジンなので。
- 241 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 21:24:50 ]
- IronPythonすげえwそんなにメモリ食いすぎなのかw
- 242 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 02:42:38 ]
- luaについてちょっと質問なんだけど、
乱数を表示させたあとに、もう一度同じプログラムを実行すると シード値が変わらずにまったく同じ乱数が表示されてしまう。 どうすればこのシード値を初期化して、実行するたびに違う乱数を 表示させられるの?
- 243 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 02:54:44 ]
- それこそシード値を「適当に」初期化してやればいい。
一般的には、タイマーの値とか、ユーザ入力の時間差を測定したりして、それを srand() につっこんで対応する。
- 244 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 03:04:26 ]
- >>243
レスありがとう まだはじめたばっかりでホームページさがしながらの手探り状態なんだけど、 math.random()で()の中に1から10までの値をいれるよね? そしたらそれ以外にmath.randomseedを書けばいいってこと?
- 245 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 03:16:42 ]
- そう。
プログラムの頭で math.randomseed(os.time()) とでもしておきなされ。
- 246 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 03:22:08 ]
- できました!
本当にありがとうございました。 これからもっと勉強してきます
- 247 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 13:48:26 ]
- 実行中のLuaスクリプトを停止させるには
lua_errorで強制的に例外を発生させる方法以外に 何かありませんか? 1つのスクリプトを実行する一般的な使い方なら問題ないのですが スレッド毎で同時に複数のスクリプトを実行させる場合 リソースの保護をしても違うスレッドからスクリプト(ステート)を閉じようとすると 原因不明のエラーで強制終了してしまいます
- 248 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 14:52:00 ]
- >>247
コルーチン化していつでも終了できるように作っておくのがLWL流 :)
- 249 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 14:57:04 ]
- つlua_yield
- 250 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 15:03:25 ]
- >>248
肝心な部分を説明し忘れてました 私が今作ってるのは>>190の方が言われたような luaを同時実行させてプラグイン機能を実現するもので それをコルーチンでやるとなると実質スレッド1つで 全処理をすることになるのでCPUリソースの消費が激しく ステートも一つだから変数の重複などが問題になって それらを回避するためにマルチスレッド上で それぞれスクリプトを動かす必要があるのです しかしあるプラグインでエラーが起こり それに関連するスクリプトを全部停止(解放)したい時 現スレッドから他スレッドのステートを閉じようとすると 強制終了につながるエラーが起きてしまう状況で
- 251 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 15:35:28 ]
- >>250
ちがうよー。 コルーチンというのはプログラマが入力した任意のタイミングで 動作を中断できるようにした仕組み(yield)のことであって、 それを使って複数の仕事を1スレッドで同時に実行というのは二次的なものに過ぎないんだよ。 したがって複数のスレッドで実行しても(エンジンの実装に問題が無いなら)問題ない。 で、中断されて制御が戻ってきたタイミングでそのまま開放してあげればいい。
- 252 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 15:54:24 ]
- >CPUリソースの消費が激しく
>変数の重複などが問題 ↓ >強制終了につながるエラーが起きてしまう状況 戦況が悪化してるが、今さら撤退する気はない 典型的なパターンですね
- 253 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 16:07:52 ]
- >>250
lua はスレッドセーフじゃないから、別スレッドからの制御は根本的にできないよ コルーチンでうごかせってのは、呼び出しに lua_call を使うんじゃなくて、lua_resume と while ループでスクリプトを駆動させて、スクリプト側では定期的に yield するようにすれば、 その区切りで安全に実行中断できるよ、ってこと。 それぞれのスクリプトはそれぞれのスレッドで立ち上げて、ほかのスレッドから停止させるときは フラグをたてておいて、そのフラグがたってたらwhileを抜けて速やかにスレッドを自滅させる ような書き方にする。 コルーチン駆動&記述が面倒ってことなら、裏技チックだけど、lua_sethook を使って、 関数呼び出し、ないしは行ごとに終了フラグチェックさせて、もしフラグたってたら lua_error で速やかにスクリプトを abort させるという手もある。 残念ながらhookにユーザパラメータは存在してないので、変数かレジストリに 参照するフラグのCポインタを格納しておく、とかの小ざかしいテクが必要。
- 254 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 16:12:26 ]
- なるほど
Luaスクリプトを同時実行する際は マルチスレッドのみでの制御は無理ということですか 改めてコルーチンについて勉強し直してきます どうも助かりました
- 255 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 17:04:30 ]
- スレッドって名前が紛らわしいな。
関係ないかもしれないが、非推奨な手法を使いにくくするとかいう話を思い出した。
- 256 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 23:15:46 ]
- Luaは普通の呼び出しと、lua_yieldで一時停止して再度呼び出す場合とで使う関数が違うのが面倒くさくて逃げちゃったな俺…
AngelScriptだと同じ呼び出し方でOKなんだよなぁ…
- 257 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 05:43:27 ]
- >>256
coroutine.wrap をつかえば、普通の関数呼び出しと同じように resume もできるよ。
- 258 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 11:25:20 ]
- 変態文法&バイトコードがエンディアン依存なluaを広めるのやめようぜ
手間が増えてスクリプトにしてる意味がねえよ
- 259 名前:デフォルトの名無しさん [2009/10/15(木) 11:27:46 ]
- luaって、oracleにアクセスするライブラリないですか?
- 260 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 22:50:58 ]
- JavaからLuaを使うことってできる?
- 261 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 23:24:54 ]
- JavaからC言語を使うことってできる?
- 262 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 10:56:47 ]
- >>259
www.keplerproject.org/luasql/ Lua for Windows についてくるよ。使ったことないけど。 luaforwindows.luaforge.net/
- 263 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 11:14:25 ]
- >>259
というかそんな『重い』プロダクトを扱うなら、 素直にPythonやRubyなんかのライブラリの整備されたスクリプト言語使ったほうがよくなくね?
- 264 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 11:16:27 ]
- まあそんなこといいつつ、俺もPythonで軽量なDBラッパー探したら見つからなかったので
ActiveRecord互換のORMライブラリを自作したんだがな。
- 265 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 11:24:25 ]
- >>258
Luaの速度に魅力を感じてる人がなんとなく多い気がするね。 あとは、リスとかに比べるとドキュメントの多さなんかが人気の秘訣?
- 266 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 11:27:28 ]
- 某MMORPGで使っているからだったりして。
- 267 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 12:17:07 ]
- ああ、別にROに限らず採用実績っていうのは使う基準に十分なるだろうし。
- 268 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 12:25:08 ]
- 組み込みに求められるのは速度と少ないメモリ消費だから
多少なりと癖があろうとlua使っちゃうんだよね 他に比べて採用例も多い分、多言語との連携も充実してるし
- 269 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 12:53:36 ]
- ORMの次は、C/C++とスクリプトのマッピングだ、というアナロジーだけで
動いてるやつがいるような気がしてきた
- 270 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 13:04:45 ]
- >>組み込みに求められるのは速度と少ないメモリ消費だから
なんで? 別にそれは前提条件にならないと思うけど。 オレはゲームシステムを組んでいるところだが別にメモリ消費量は大して気にしてないぞ。 速度は大切だが、どうせ1スレッドでは間に合わなくなるのでマルチスレッド化するし、 ボトルネックはスクリプト部分ではないので問題ない。
- 271 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 13:14:26 ]
- ヤマハ RTX1200 に Lua 実行機能搭載だってさ
ttp://www.rtpro.yamaha.co.jp/RT/docs/lua/index.html
|

|