プログラミング言語 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
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もう三ヶ月経ってますよ。ちょっと焦らしすぎじゃーないですかね?
0414デフォルトの名無しさん
2007/08/19(日) 21:38:34おれは我慢ならん
0415デフォルトの名無しさん
2007/08/19(日) 22:07:07これらの言語が糞じゃなくてぅあが糞だというのなら、それはお前の主観であって
他人に押し付けるものではないよ
0416デフォルトの名無しさん
2007/08/19(日) 22:14:12C++やJavaやC#がそうだとは一言も言ってないが
0417デフォルトの名無しさん
2007/08/19(日) 22:16:140418デフォルトの名無しさん
2007/08/19(日) 22:22:010419デフォルトの名無しさん
2007/08/19(日) 22:25:06恐らく普段から人の話を聞かない自己中な人間なんだろうね。
糞言語判定委員乙
0420デフォルトの名無しさん
2007/08/19(日) 22:46:340421デフォルトの名無しさん
2007/08/19(日) 22:59:140422デフォルトの名無しさん
2007/08/19(日) 23:05:422.糞言語かどうかは俺が決める事
3.糞言語かどうかは俺が決める事
4.糞言語かどうかは俺が決める事
5.糞言語かどうかは俺が決める事
決め付は良くない。
0423デフォルトの名無しさん
2007/08/19(日) 23:09:170424デフォルトの名無しさん
2007/08/19(日) 23:25:440425424
2007/08/19(日) 23:27:040426デフォルトの名無しさん
2007/08/19(日) 23:52:530427デフォルトの名無しさん
2007/08/20(月) 00:02:590428デフォルトの名無しさん
2007/08/20(月) 01:02:36お前が糞だとは一言も言ってないが
0429デフォルトの名無しさん
2007/08/20(月) 08:06:520430デフォルトの名無しさん
2007/08/20(月) 08:25:170431デフォルトの名無しさん
2007/08/20(月) 08:27:260432デフォルトの名無しさん
2007/08/20(月) 08:33:550433デフォルトの名無しさん
2007/08/20(月) 09:29:10またこれか
学習しろ俺
0434デフォルトの名無しさん
2007/08/20(月) 14:18:58その代わりPerlたんは俺の嫁だからな
0435デフォルトの名無しさん
2007/08/20(月) 23:00:02◯( ´∀` )◯ < 僕は、LISPちゃん!
\ / └────────────
_/ __ \_
(_/ \_)
lll
0436デフォルトの名無しさん
2007/08/20(月) 23:13:00当たる。
0437デフォルトの名無しさん
2007/08/20(月) 23:25:120438デフォルトの名無しさん
2007/08/21(火) 00:14:12それ以外の自家製オナニーライブラリは糞と言っていい。
Cで書き直せグズ
0439デフォルトの名無しさん
2007/08/21(火) 00:49:140440デフォルトの名無しさん
2007/08/21(火) 02:20:190441デフォルトの名無しさん
2007/08/21(火) 02:49:19/ :: ヽ
/ \ / |
(∂| | ・ ・丿 |
ヽ| "" "" |
| ___ | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
\ /__/ / < やっぱぅあはすげえや!
/ヽ /\ \_________________
0442166
2007/08/22(水) 18:11:01ごめん、もうめんどくさくなってすっぽかすつもりでした
かなり投げやりですがとりあえず約束は守りましたよ〜
0443デフォルトの名無しさん
2007/08/22(水) 21:08:02URLを張ってくれ
0444デフォルトの名無しさん
2007/08/22(水) 22:14:060445デフォルトの名無しさん
2007/08/22(水) 23:31:20何をどう直すつもりなのかも.
0446デフォルトの名無しさん
2007/08/23(木) 00:18:17その辺をちょっと書き足しました
0447デフォルトの名無しさん
2007/08/23(木) 00:53:40delegateの使い方が無茶苦茶だよ
threadあたりは突込みどころが多すぎてもう
0448デフォルトの名無しさん
2007/08/23(木) 11:11:51速度に関しては確かにはっきりと言えることじゃないですね
delegateは非常駐っぽいことをやる方法がこれしか思いつかなかったので…
突っ込みどころあるなら具体的に言ってもらえると助かります。個人的にそれを期待して書いてみたというのもあるので
■ このスレッドは過去ログ倉庫に格納されています