プログラミング言語 Lua その3
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/10/14(土) 13:13:52前々スレ http://pc5.2ch.net/tech/kako/1034/10341/1034182349.html
前スレ http://pc8.2ch.net/test/read.cgi/tech/1063711237/
本家 http://www.lua.org/
lua-users http://lua-users.org/
LuaForge http://luaforge.net/
Lua 5.1 リファレンスマニュアル(日本語訳)
http://sugarpot.sakura.ne.jp/yuno/html/lua51_manual_ja.html
0314デフォルトの名無しさん
2007/07/15(日) 18:07:59虚しいのう...
0315デフォルトの名無しさん
2007/07/15(日) 18:11:42というか、バカなんだから理解できないだろ?
0316デフォルトの名無しさん
2007/07/15(日) 18:13:01ここはぅあのスレですよ。喧嘩をしたいのなら他所でやって頂けませんか。
0317デフォルトの名無しさん
2007/07/15(日) 18:14:21あまりにも程度が低過ぎてワラタ。お前面白いからもっと頑張れw
0318デフォルトの名無しさん
2007/07/15(日) 18:14:270319デフォルトの名無しさん
2007/07/15(日) 18:15:39お前もガンバレよ、そのネット難民の生活をなw
0320デフォルトの名無しさん
2007/07/15(日) 18:16:57何だっけ? レッテル貼るのは反論出来ない時のごまかしなんだっけかw
0321デフォルトの名無しさん
2007/07/15(日) 18:17:44低脳二人がこの合戦にはまると、まさにエンドレスサマー
0322デフォルトの名無しさん
2007/07/15(日) 18:18:53えw
お前レッテルの意味わかってるの?w
0323デフォルトの名無しさん
2007/07/15(日) 18:21:30ちょっと面白かったわ。
0324デフォルトの名無しさん
2007/07/15(日) 18:21:54事態はますます混迷を深めていきます。
0325デフォルトの名無しさん
2007/07/15(日) 18:31:090326デフォルトの名無しさん
2007/07/15(日) 18:32:03まぁよくがんばったよ。
散々やっときながら、"ちょっと面白かったわ"と、
"俺は余裕だった、ちょっとアラシをからかってやっただけ"
という演出をするところがなかなか将来有望。
そんな演出を入れてみても、
傍から見るとどっちもアラシにしか見えないんだけどね。
0327デフォルトの名無しさん
2007/07/15(日) 18:33:410328デフォルトの名無しさん
2007/07/15(日) 18:35:210329デフォルトの名無しさん
2007/07/15(日) 18:40:45匿名の全体主義こそすべて
0330デフォルトの名無しさん
2007/07/15(日) 19:27:00俺は傍観してるよ。>>327 は誰だか知らん。
0331デフォルトの名無しさん
2007/07/15(日) 22:17:160332デフォルトの名無しさん
2007/07/15(日) 22:24:400333デフォルトの名無しさん
2007/07/16(月) 01:07:470334デフォルトの名無しさん
2007/07/16(月) 23:52:400335デフォルトの名無しさん
2007/07/17(火) 00:44:330336デフォルトの名無しさん
2007/07/17(火) 00:55:29rubyのは オ マ ー ジ ュ な
パクリとオマージュは紙一重だけど
rubyのはオマージュだと言える
だいたいパクリで成り立ってる言語なんてあるのか
0337デフォルトの名無しさん
2007/07/17(火) 01:23:440338デフォルトの名無しさん
2007/07/17(火) 01:26:200339デフォルトの名無しさん
2007/07/17(火) 01:48:10パクりで成り立ってない言語なんてあるのか
の間違いじゃないの?
まあ俺が言ってるのはその「オマージュ」なんだろうけど
0340デフォルトの名無しさん
2007/07/17(火) 12:04:38具体的に言うとあるゲーム(説明のために簡単にブロック崩しにしておく)の初期値
ユーザ側でスクリプトを作ることが出来るゲーム(カルネジのような)を作ろうと思ってるんだが
ステージごとに初期位置可変なのでLua側に大域変数として全部与えてLuaから必要な変数だけ使う形にしたい。けどどう実現するべきか分からない
上から出来たら簡単だろうなーと思う順に言うと
1 C側からLuaに初期値を与えることが出来る関数がある
2 ユーザ型とかいうの使って色々やると値を作れる
3 変数読む為だけのCの関数を作る
0341デフォルトの名無しさん
2007/07/17(火) 16:44:11lua_getfield( L, -1, "test" );
と
lua_pushstring( L, "test" );
lua_gettable( L, -2 );
って何が違うの?
0342デフォルトの名無しさん
2007/07/17(火) 21:00:19>>166さんをマジで期待したいぜ・・・
0343デフォルトの名無しさん
2007/07/18(水) 14:51:43どっちも同じ。
テーブルからキーが文字列の値を取り出すことは
頻繁にあるから前者が用意されているのよ。
0344デフォルトの名無しさん
2007/07/18(水) 20:24:00何が難しい?
0345デフォルトの名無しさん
2007/07/18(水) 22:08:00Java好きはSquirrelが好きって感じだね
0346デフォルトの名無しさん
2007/07/18(水) 23:44:030347デフォルトの名無しさん
2007/07/19(木) 02:49:10Lua好きがRuby好きとは限らない罠
0348デフォルトの名無しさん
2007/07/19(木) 04:28:49ホスト言語からの大域変数の取得でいきなり、つまづいた
今はできたけど・・・
APIリファレンスは、日本語のものがあって助かるんだけど、
リファレンスの説明だけじゃ、わかんなくて、本家にもAPIの使用例が全然ないので、
これ、何に使うのってことが一杯・・・
何かするにも手探り状態
もっとも肝心なのは、関数呼び出しとか、変数の取得などの効果的なラッピングの方法なんだけど。
まさか、ホスト側でSquirrel APIそのまま使うわけにもいくまい。
C++じゃないんで、SqurrelPlusなどつかえなくて(参考にはしてるが、なかなかにきっかい)
>>345
Ruby好きだけど、Squirrelの方が文法は好きだよ
0349デフォルトの名無しさん
2007/07/19(木) 08:08:190350デフォルトの名無しさん
2007/07/19(木) 08:18:33ぅあはM。
に決まってんだろ
0351デフォルトの名無しさん
2007/07/19(木) 22:29:43言語使用が違うからCやjavaから単純に移植というわけにはいかないので
どなたかC2LUAやらjava2luaのようなトランスレーターを知っていたら
是非教えて貰いたいのだけど
0352デフォルトの名無しさん
2007/07/20(金) 02:55:30少し考えれば判る事だろ。
それとFFTがFINAL FANTASY TACTICSだとかいう
逆上脊髄反射ネタも禁止な。
0353デフォルトの名無しさん
2007/07/20(金) 04:03:01にある再帰版のFFTならluaに移植できるんじゃない?
0354デフォルトの名無しさん
2007/07/20(金) 07:13:510355デフォルトの名無しさん
2007/07/20(金) 07:35:02これ汚ねえなー
デリゲート渡したいだけなのに、何だよbindenvって
0356デフォルトの名無しさん
2007/07/20(金) 22:21:27ネタ元はRigidChipsスレみたいなのでこっちに書き込み。
>>http://game11.2ch.net/test/read.cgi/gameama/1182042852/498
実装が間違ってないとして・・・
64点なら1万回繰り返して4秒程度だったので(Core2Duo)
実用も可能そう。
luaソース:http://hammm.dw.land.to/lua/fft.lua
0357デフォルトの名無しさん
2007/07/23(月) 02:35:570358デフォルトの名無しさん
2007/07/23(月) 02:36:330359デフォルトの名無しさん
2007/07/24(火) 11:53:01Xtalいいよね。
早く1.0にならないかなぁ
0360デフォルトの名無しさん
2007/07/24(火) 18:39:571.0になってもバグフィックスぐらいで殆ど機能変わらないと思うぞ。
てか早く1.0になって欲しかったら沢山使ってバグ報告しようぜ。
0361デフォルトの名無しさん
2007/07/24(火) 19:12:45"1" == 1はnullが返って1 == "1"はエラーとか。
前者がC++からsend使ってて
後者がXsrcで存在しないString::op_eq_r_Intを呼んでるせいだと思うんだが。
0362デフォルトの名無しさん
2007/07/25(水) 07:22:080363デフォルトの名無しさん
2007/07/25(水) 19:14:560364デフォルトの名無しさん
2007/07/25(水) 23:15:37なかなか面白い
Pascalの文法に近いので、Pascalのサンプルやチュートリアルをluaでも動くようにしたらいいのではないだろうか
googleのソースコード検索で探してみたが、あまりヒットしなかった
0365デフォルトの名無しさん
2007/07/25(水) 23:46:40例えばFunc0っていう関数の途中でyieldしてC++側に制御戻した後、
次にresumeするとFunc1という関数の最初から始まるようにする感じ。
単純にC++からの関数呼び出しでやると、yieldのところでエラー出てしまい、その後resumeしても戻らないんだが・・・。
0366デフォルトの名無しさん
2007/07/26(木) 01:54:570367デフォルトの名無しさん
2007/07/26(木) 02:14:500368デフォルトの名無しさん
2007/07/26(木) 13:09:04チュートリアルの、lua_tolstringのところに
Because Lua has garbage collection, there is no guarantee that the pointer returned by lua_tolstring will be valid after the corresponding value is removed from the stack.
ってあるから、ガベージコレクタで解放されるものだと思っています。
0369デフォルトの名無しさん
2007/07/26(木) 23:57:05Luaのスクリプト側で次にresumeして戻る位置を決めるんじゃなくて、C++側から切り替えたい場合どうすればいいのかな、と。
ちょっと記述不足だった。すまん。
0370デフォルトの名無しさん
2007/07/27(金) 13:53:530371チラシの裏
2007/07/27(金) 20:51:33lua.hの代わりに、lua.hppをインクルードする、っと
0372デフォルトの名無しさん
2007/07/28(土) 19:30:450373デフォルトの名無しさん
2007/08/01(水) 16:40:05SqPlusのソースを呼んでいるのですが、
SquirrelObjectで使っている、sq_addref というAPIがあり、
リファレンスによると、参照カウンタのインクリメントとあるのですが、
これって、つまり、C++側で作成した SquirrelObject で束縛?するためでしょうか?
sq_addref を sq_release しない限りは、squirrelが勝手に開放しないということで
あってるでしょうか?
0374デフォルトの名無しさん
2007/08/01(水) 16:41:13SqPlusのソースを呼んでいるのですが、
SquirrelObjectで使っている、sq_addref というAPIがあります。
リファレンスによると、参照カウンタのインクリメントとあるのです。
これは、つまり、C++側で作成した SquirrelObject で HSQOBJECT を束縛?するためでしょうか?
sq_addref を sq_release しない限りは、squirrelが勝手に開放しないということで
あってるでしょうか?
0375デフォルトの名無しさん
2007/08/01(水) 19:17:53けどその理解で多分間違ってないと思う
0376デフォルトの名無しさん
2007/08/01(水) 19:39:200377デフォルトの名無しさん
2007/08/01(水) 21:08:24- sq_addrefで参照カウンタが+1
- sq_releaseで参照カウンタが-1 (0となったらsq_resetobjectが呼ばれる)
0378デフォルトの名無しさん
2007/08/01(水) 22:04:59あ、いや、参照カウンタ知らないわけではないすw
HSQOBJECTを保持するときは、こうやって参照カウンタをいじるのがその流儀なのね、思っただけなので。
0379デフォルトの名無しさん
2007/08/02(木) 16:53:20SqPlusの SquirrelVM.cpp の SquirrelVM::RunScript を見ています。
sq_gettopでスタック位置を確認しながら、見ていたのですが、
この関数、スタック操作が、間違ってませんか?
sq_callが成功した時点で、二つスタックが残っているので、
sq_popで2つポップしないといけないはず・・・。
バージョンは、ersion 2.1.1 stable
(でもHISTORYみてたら、
-sq_call() doesn't pop the closure (just the params) って書いてあるんだよなあ)
SquirrelObject SquirrelVM::RunScript(const SquirrelObject &o,SquirrelObject *_this)
{
SquirrelObject ret;
sq_pushobject(_VM,o._o); //スタックに残る
if(_this) {
sq_pushobject(_VM,_this->_o); //引数1
}
else {
sq_pushroottable(_VM); //引数1
}
if(SQ_SUCCEEDED(sq_call(_VM,1,SQTrue,SQ_CALL_RAISE_ERROR))) {
// 成功したら、スタックに戻り値が残る
ret.AttachToStackObject(-1);
sq_pop(_VM,1); // sq_pop(_VM,2);では?
return ret;
}
sq_pop(_VM,1); // 失敗したら、スタックに
throw SquirrelError();
}
0380デフォルトの名無しさん
2007/08/02(木) 16:55:10throw SquirrelError();
}
なんで、そう思ったかというと、
testSqPlus2.cppが残っているはずのスタック(戻り値)を全然考慮してないからなんですけど
0381デフォルトの名無しさん
2007/08/02(木) 17:03:52バージョンとHISTORYは、SqPlusじゃなくて、Squirrelのですね。
SqPlusのバージョンは、stable 25でした。
0382デフォルトの名無しさん
2007/08/02(木) 18:30:480383デフォルトの名無しさん
2007/08/02(木) 18:48:57どっちも日本人なのか・・・
0384デフォルトの名無しさん
2007/08/02(木) 19:09:04同じバグかYO!\(^o^)/
サンクス。
おれの判断は正しかったようだ。
つか、公式フォーラムくらい検索しろ > 俺
コミッターもメンテナーにも日本人居るのなw
0385デフォルトの名無しさん
2007/08/03(金) 04:06:58コード大きくなたり重くなったりするの?
0386デフォルトの名無しさん
2007/08/03(金) 07:27:170387デフォルトの名無しさん
2007/08/04(土) 21:27:010388デフォルトの名無しさん
2007/08/04(土) 21:37:39参加したのか?
0389デフォルトの名無しさん
2007/08/04(土) 22:18:340390デフォルトの名無しさん
2007/08/04(土) 22:58:17・上野氏(みんな読んでるLuaマニュアルの訳者)によるLua紹介。
「遺伝子関連のプログラムを組む上で最も都合が良かった」
・Luaの速度がXtalとPnutsから比較対象にされてた
・Xtalは頑張って作ってる印象。作者ナイスキャラ
・Squirrelは上野氏が一言触れた程度
その他はプレゼン中にチャットログ(Lingr)が流れる奴とか、嘘だらけのmatzプレゼンとか、いろいろ。
全体的には演者のレベルが結構高かった印象。
体調が最悪じゃなければなかなか良かった。
0391デフォルトの名無しさん
2007/08/05(日) 03:55:44連発してたね。気持ちはわかるがもうちょっとおちつけとw
0392デフォルトの名無しさん
2007/08/05(日) 19:33:36Luaメジャーじゃん?と思った
0393デフォルトの名無しさん
2007/08/06(月) 03:09:030394デフォルトの名無しさん
2007/08/06(月) 08:06:31山田君ざぶとん1枚あげて!
0395デフォルトの名無しさん
2007/08/06(月) 22:48:18http://ll.jus.or.jp/2007/
これかー
LuaLuaっていうからわからんだじゃねーか
Luaだけじゃねえw
つか、Luaの話すくねえw
0396デフォルトの名無しさん
2007/08/06(月) 23:57:530397デフォルトの名無しさん
2007/08/07(火) 02:37:50テクスチャへの描画とか、実際に使う際の普遍的なチップスとかって
載ってますのん?
そういうのは、Game Programming Gems買えって事かな?(そろえたら、赤本よりたけええけどよぉおぉ)
0398デフォルトの名無しさん
2007/08/07(火) 02:38:250399デフォルトの名無しさん
2007/08/07(火) 04:06:386巻でLuaが扱われてるよね。
読んでないけど、どうなんだろう
0400デフォルトの名無しさん
2007/08/08(水) 01:12:02すでに、適用範囲広がってるな。
普通に、L魂でいいんじゃないのか?
0401デフォルトの名無しさん
2007/08/08(水) 01:27:34ぅあのL?
0402デフォルトの名無しさん
2007/08/08(水) 01:55:240403デフォルトの名無しさん
2007/08/08(水) 03:01:53確かだ一回目でHaskellが取り上げられてるはずだが?
すでにどころか最初から適用範囲も何もあったもんじゃなかったんじゃねえの。
0404デフォルトの名無しさん
2007/08/08(水) 04:15:12うむ、Cleanの説明で「速い!」って言ってるの見て、これはカテゴリ違うよなーとは思った。
言語まわりの新しい動きをおさえつつ、中心軸はlightweightに置くって感じで理解している・・・
Javaに関してはJythonとかJRubyとかの絡みが主かと。
今後スクリプト言語が動くプラットフォームとして、JavaなのかDLRなのか、みたいな。
そういう流れでは、JLuaとかIronLuaはでないのかと。
lua-lのほう見るとつくってる人は居るっぽいな。
0405デフォルトの名無しさん
2007/08/08(水) 04:31:460406デフォルトの名無しさん
2007/08/09(木) 00:24:370407デフォルトの名無しさん
2007/08/09(木) 14:48:530408デフォルトの名無しさん
2007/08/10(金) 23:53:060409デフォルトの名無しさん
2007/08/11(土) 10:52:370410デフォルトの名無しさん
2007/08/11(土) 13:11:250411デフォルトの名無しさん
2007/08/11(土) 18:57:010412デフォルトの名無しさん
2007/08/13(月) 03:00:30企画者とか。
0413デフォルトの名無しさん
2007/08/19(日) 21:03:14もう三ヶ月経ってますよ。ちょっと焦らしすぎじゃーないですかね?
■ このスレッドは過去ログ倉庫に格納されています