1 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 13:02:21 ] LuaやSquirrelなどアプリケーションへの組み込み用途で 使われるプログラミング言語についてのスレッドです まとめwiki(なにか質問する前に必ずみること!) wikiwiki.jp/lua/ その他の参考URLは>2から ■過去スレ その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
391 名前:390 mailto:sage [2008/10/27(月) 15:17:09 ] 補足。 リモートデバッグというのは動いている外部プログラムをSocket越しにモニターするだけのことだから、 デバッグ対象のプログラムが正常に動作するようにする必要がある。 「SQDBG error : cannot open the file」 という言葉通り考えるなら、sqdbg.exe の場合だと 「Default Working Directory」と「Default command line options」の組み合わせが正しくないとか。
392 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 15:28:22 ] 既出かもしれないが、 SqPlusの初期化において、VMをSQSharedStateNodeに渡してアプリケーション終了時にまで VMの解放を後回しにするコードは丸めてゴミ箱に捨てたほうがいい。回避させたほうが無難。
393 名前:デフォルトの名無しさん [2008/10/27(月) 18:53:29 ] >>392 「Default command line options」がわかんないよ。 「test.nut」じゃないの ほかは全部あってると思う。
394 名前:393 [2008/10/27(月) 18:54:05 ] 間違えた。 >>391
395 名前:デフォルトの名無しさん mailto:sage [2008/10/28(火) 11:16:46 ] >>393 まあ分からないというなら、ファイル・ディレクトリ構成まで含めてWikiと全く同じにしてごらんよ。 connectedと出ているようだから、sqdbg.exeへのSocket接続は成功しているようだ。
396 名前:デフォルトの名無しさん mailto:sage [2008/10/28(火) 23:02:00 ] ∧_∧ / ̄ ̄ ̄ ̄ ( ・∀・) < Lua!! ⊂/ 9) \____ q( / > >
397 名前:デフォルトの名無しさん mailto:age [2008/11/03(月) 15:03:40 ] ほっしゅ
398 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 18:31:08 ] ∩_ 〈〈〈 ヽ 〈⊃ } ∩___∩ | | | ノ ヽ ! ! / ● ● | / | ( _●_) ミ/ Lua!! 彡、 |∪| / / __ ヽノ / (___)
399 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 18:05:01 ] luaで正規表現は使えますか? また、文字列処理に関して、pythonやrubyと 比べるとどうですか?かなり劣ってますか?
400 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 19:13:11 ] >>399 使えます ある程度は劣っていると思います
401 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 19:27:44 ] >>399 文字列の簡単なパターンマッチは標準ライブラリでできますが、 例えばバックトラックを必要とするような複雑なパターンは使えません。 マルチバイト文字のサポートもありません。 あえて言うなら、文字列とbyte列を区別するのが嫌いな人向け。 ちなみにLPegというライブラリでparsing expression grammarが使えるそうです。 ttp://www.inf.puc-rio.br/~roberto/lpeg/lpeg.html
402 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 22:30:15 ] >>400 >>401 レスありがとう。 rubyかpythonの拡張で行こうかと思ってたけど、 組み込みで行くわ。 俄然やる気出てきた。
403 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 23:29:28 ] >>399 ,402 文体の変化にやる気というか、テンションの上がりっぷりが伺えて面白いんだがw
404 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 10:49:20 ] さしあたり、SquirrelにはSJISのテキストを1文字ずつ区切って 配列にぶち込んでくれるAPIが欲しいところだな。
405 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 02:33:13 ] >>404 自分でネイティブ関数作ればいいじゃないかw
406 名前:デフォルトの名無しさん [2008/11/07(金) 20:21:05 ] スクリプト言語による効率的ゲーム開発 C/C++へのLua組込み実践 って本に関して、Luaの入門書を先に読んだほうが良いですか? それともこの本だけで完結しますか?
407 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 21:05:26 ] 開発効率を上げるためにスクリプト言語(Lua)を利用するという趣旨の本で 読むのにLua自体の知識はあまり必要ない
408 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 21:41:36 ] >406 Luaの構文規則については第4章をまるまる使って解説してる 本に載っている内容だけならこれで十分 自分でなんか作ってみて わからないところが出てきたら Webのリファレンスみればいいんじゃない?
409 名前:デフォルトの名無しさん [2008/11/08(土) 04:24:49 ] ご意見ありがとう御座いました。 大変参考になりました。
410 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 03:47:40 ] あれこれSquirrel(on SqPlus)でテストしたけど、VCで文字コードをUnicodeにした場合、スクリプトコードの日本語はうまく処理できない。 文字列処理をアプリ側でやれば問題はないんだが、スクリプトコードのデバッグに日本語が使えないな。
411 名前:デフォルトの名無しさん mailto:sage [2008/11/12(水) 01:04:17 ] lua5.0で割り算をした時に余りを出す方法はないですか?
412 名前:デフォルトの名無しさん mailto:sage [2008/11/12(水) 01:27:30 ] ん、5.0って%ないの?
413 名前:デフォルトの名無しさん mailto:sage [2008/11/12(水) 06:25:36 ] あるならそんな質問しないだろ常識的に考えて・・・
414 名前:デフォルトの名無しさん mailto:sage [2008/11/12(水) 07:39:32 ] 5.0にはないみたいだね。 sugarpot.sakura.ne.jp/yuno/html/lua5_manual_ja.html#2.5.1 5.1にはあるけど。 sugarpot.sakura.ne.jp/yuno/html/lua51_manual_ja.html#2.5.1 5.0でもmath.modはあるみたいだからそれを使えば。 sugarpot.sakura.ne.jp/yuno/html/lua5_manual_ja.html#5.5
415 名前:デフォルトの名無しさん mailto:sage [2008/11/12(水) 19:49:36 ] >>411 粘菌に計算してもらえばええよ。 ttp://www.chunichi.co.jp/article/technology/science/CK2008110402000183.html
416 名前:デフォルトの名無しさん [2008/11/12(水) 23:54:16 ] >>411 つ math.mod
417 名前:デフォルトの名無しさん mailto:sage [2008/11/13(木) 00:01:26 ] >>416 >>414
418 名前:デフォルトの名無しさん mailto:sage [2008/11/13(木) 00:03:58 ] >>417 すまね、携帯で見てて下切れてたorz
419 名前:デフォルトの名無しさん mailto:sage [2008/11/13(木) 01:39:50 ] math = nil
420 名前:411 mailto:sage [2008/11/14(金) 23:41:53 ] >>414 ありがとうございます。できました
421 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 10:58:34 ] ∩_ 〈〈〈 ヽ 〈⊃ } ∩___∩ | | | ノ ヽ ! ! / ● ● | / | ( _●_) ミ/ Lua!! 彡、 |∪| / / __ ヽノ / (___)
422 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 10:17:41 ] ∧_∧ / ̄ ̄ ̄ ̄ ( ・∀・) < Lua!! ⊂/ 9) \____ q( / > >
423 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 13:06:01 ] 俺のXtalたんはどうなりましたか?
424 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 13:06:52 ] 音信不通です
425 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 18:36:16 ] Xtalたんは緊張気味です
426 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 20:12:46 ] 返事がない。ただの屍のようだ。
427 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 21:31:57 ] AngelScripたんなら俺の横で寝てるが
428 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 23:07:10 ] AngelScript色々いじってみたが、結構使いやすいな。 文法がC++なんで慣れてるってのもあるが。 ただ、AngelScriptとC++プログラムを結びつけるのを簡単に行うツールとかないのが残念。 LuaBindとかみたいなやつね。
429 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 15:01:43 ] ∩_ 〈〈〈 ヽ 〈⊃ } ∩___∩ | | | ノ ヽ ! ! / ● ● | / | ( _●_) ミ/ Lua!! 彡、 |∪| / / __ ヽノ / (___)
430 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 15:32:49 ] プログラミング言語のソースコード行数 d.hatena.ne.jp/SumiTomohiko/20081114/1226668855
431 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 20:00:00 ] >>428 バインダがなくてもシームレスに利用できるのがAngelScriptの良いところだと思うのだが。
432 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 23:47:04 ] >>431 確かに。 Luaはいまいち使いこなせなかったが、AngelScriptはその辺楽でよかった。 ただ、例えば ASFunc<int(int,int)> f; f.SetContext(〜); f.SetFuncID(〜); int val=f(a,b); みたいな感じで、普通の関数呼び出しと同じようにAngelScriptの関数呼び出せるのがあれば便利かなーと。
433 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 20:34:35 ] LuaInterface luaforge.net/projects/luainterface/ で.NETのSystem.Drawing.BitmapとかGraphicsを使って画像を読み込んで弄ったり出来るんだけど、 新規にBitmapを作る方法がわからん。 一旦画像を読み込んでそれのクローンをつくるとかいうやり方ぐらいしかうまくいかない。
434 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 08:49:08 ] ∧_∧ / ̄ ̄ ̄ ̄ ( ・∀・) < Lua!! ⊂/ 9) \____ q( / > >
435 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 18:43:30 ] いいえ、それはKumaです。
436 名前:410 mailto:sage [2008/11/24(月) 14:51:19 ] アプリ側でsetlocaleすりゃよかったんだな。 UCS2は.NETでしか使ったことなかったので、ロケール失念してた。
437 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 00:12:56 ] すみません、質問があります。 現在、「スクリプト言語による効率的ゲーム開発」という本を読み、 Visual C++ 2008 EE上で空のプロジェクトを作成し、 以下のソースファイルをビルドしてみたのですが、 // 以下、ソースファイル #include <lua.hpp> int main() { lua_State* L = lua_open(); lua_close(L); return 0; } LINK : warning LNK4098: defaultlib 'LIBCMT' は他のライブラリの使用と競合しています。/NODEFAULTLIB:library を使用してください。 という警告が出ます。 かといってLIBCMTを無視するライブラリに指定するとビルドが通りません。 LNK4098のメッセージを無視する方法以外で、警告メッセージを消す方法はありますか?
438 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 00:51:29 ] LuaのライブラリをコンパイルしたときのCRTとそのプロジェクトのCRTが食い違ってるんじゃね。 大体MTとかその辺のオプションで
439 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 09:08:48 ] >>437 vcppでWin32向けプログラムをビルド際にFAQレベルで発生する問題だ。 Luaに限ったことじゃないのでぐぐればすぐに解決策は出てくる。 ややこしいことにvcppは複数のランタイムライブラリを持っていて、しかも各ライブラリ・プログラム生成時には原則全てあわせる必要がある。
440 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 23:22:38 ] >>439 推測だがLuaのビルドオプションがMTでアプリ側もMDだとこの警告がでる。 この場合でもアプリのほうでLIBCMTを無視する設定にすれば大概大丈夫なはずなんだが・・・ 面倒だったら、両方のランタイムをそろえてしまえばラクだけど
441 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 01:05:16 ] >> 438 >> 439 >> 440 プロジェクトの [構成プロパティ]->[C/C++]->[コード生成]->ランタイムライブラリ を/MDd(マルチスレッドデバッグ DLL)から/MT(マルチスレッド)に変更することで警告がでなくなりました。 おかげで少しVC++についてわかりました。 ご丁寧な回答、ありがとうございました。
442 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 01:44:50 ] 正しい解決法は、 ・LuaのライブラリをCRT毎に6種類全部ビルドする ・#ifdefと#pragma comment(lib,〜)で自動的にそれを選択するヘッダを作る
443 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 15:41:21 ] スクリプト言語による効率的ゲーム開発の本読んで、 確かに動的リロードはできたら便利だよなと思った。 そこでSquirrelで同じことをしようと思ったんだが、問題にぶつかった。 Squirrelの仕様だと、Classは一度インスタンスを生成すると変更不能になる。 この仕様だとSquirrelのクラスはリロードできないんだよな… かといってdelegate使うのは、折角クラス機構があるのにどうよ?と思うんだが、 Squirrelで動的リロードを実装した人いる?
444 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 15:44:13 ] >>442 Makefileで書けば至極簡単だが、(Luaを)プロジェクトファイルで管理したら普通の方法だとものすごく手間がかかりそうだな。 楽にやる方法何かないでしょうか。
445 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 15:45:19 ] >>443 スクエニの小さな王国とかが動的リロードやってる CEDEC2008で言ってた
446 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 15:45:24 ] >>443 おそらく、いったんインタプリタを殺して最初からやり直した方が早いと思う。
447 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 16:02:33 ] >>444 ヘッダ一発だってばさ
448 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 16:39:01 ] >>445 やってるのか。詳細が欲しいな。 >>446 今まではまさにその方法でやってた。 色々考えてみたが、ソースに手を加えない方法ではdelegate使うしかないな。 Foo = NewClass( "Foo", SuperClass ); function Foo::foo() { // do something } のようにクラスを記述しないといけないが…
449 名前:444 mailto:sage [2008/11/27(木) 22:30:07 ] >>447 意図がうまく伝わらなくてすまん。 Luaを6種類ビルドする方法のことを言ってます。
450 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 08:13:57 ] ∩_ 〈〈〈 ヽ 〈⊃ } ∩___∩ | | | ノ ヽ ! ! / ● ● | / | ( _●_) ミ/ Lua!! 彡、 |∪| / / __ ヽノ / (___)
451 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 17:02:22 ] >>449 プロジェクトファイルってVCの話か? それなら、ビルド方法のリリースやデバッグに追加して 「DLL リリース」とか「DLL デバッグ」とか作ればええよ
452 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 01:31:01 ] なんか0xff表記使うとfloatっぽい丸め誤差が発生するんだが。 色マクロに使おうとしてた俺涙目とか思ってたら>>100 で既出な上、 さらに>>104 で解決策が示されていた件 ありがとう>>104
453 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 10:20:36 ] Xtalで書いたスクリプトをSquirrelに移植したら 微妙に遅くなって涙目。 デバッガとかついててSquirrel便利だけど、 どっちにしようかなぁ……。
454 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 11:35:49 ] ”微妙に”遅くなるだけなら問題ないと思うんだが・・・ 実行に差し障りがあるレベルなら微妙とはいわなくね?
455 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 22:27:47 ] たしかに、スクリプトの速度が1/2になるのとFPSが1/2になるのとでは全く意味が違うからな。 FPSが明らかに低下したらならXtalのままにしたほうがいいと思う。
456 名前:453 mailto:sage [2008/12/03(水) 01:14:18 ] 60FPSでキャッシュせずに全張替えしてる仮実装の状態だが、 Xtalだとぎりぎりで60FPS出せる。CPU使用率は1個換算で96〜98%くらい。 これがSquirrelだと52〜54FPSになって少しカクカクしてくる。 速度ならXtalということになるが、これ以上作りこむとどうせ足りなくなるのは同じで、 描画処理の枝刈りをすればSquirrelでもいけるかも……というところ。 蛇足でスマソ。
457 名前:453 mailto:sage [2008/12/03(水) 01:28:54 ] ところで、みんなSqPlusのところ悪いが(ほんとか?) jkBindってどうよ? なんかフォーラムにパッチ上がってるみたいだけど。
458 名前:デフォルトの名無しさん mailto:sage [2008/12/15(月) 19:37:58 ] なんかtolua++の挙動怪しかったん、手てグルーコードを書くのを補助する ライブラリ自作しちまったい。 やっぱり自前で書いたほうが細かく制御できていいね。
459 名前:デフォルトの名無しさん mailto:sage [2008/12/15(月) 23:46:18 ] AngelScriptのShiftJIS対応版とか需要あるんだろうか…
460 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 00:31:03 ] 俺はSquirrel3のパフォーマンスチューニングに期待してSquirrelで行くぜ! まぁ、枝刈りも大切だと思う。 あとはココのJITとかどうかね ttp://muffin.cias.osakafu-u.ac.jp/~matumoto/ バージョンがちょい古いけど…
461 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 01:26:17 ] >>460 ちょうど今、vcpp向けの改修を行っているところ。 作者のスクリプト、デフォルト引数などは既に対応した。 まだメタメソッドや複数段階のクロージャの呼び出しがイマイチ不安定なので改善を図ってるところ。 近々フォーラムに発表予定。
462 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 13:44:50 ] >>461 元にある問題点とかはそのままなの?
463 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 22:05:06 ] wktk
464 名前:461 mailto:sage [2008/12/19(金) 20:46:12 ] とりあえず、手元のスクリプトがほぼ一通り動くようになったのでフォーラムで公開してみる。 協力者求む。 動かないスクリプトの例などがあるとうれしい。
465 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 00:09:14 ] 乙!
466 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 09:07:13 ] >>464 乙カレー LuaはC++だとlua_call失敗時に例外投げるんだな。ちゃんと書いてくれよOTL てっきりデストラクタ呼ばれないと思って、そういうコードを書いてたせいで 謎の挙動に悩まされたよ。
467 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 15:57:40 ] >>466 リファレンスマニュアルの3.6にそれらしいことが書いてあるよ Cでsetjmp/longjmp使っててもC++のデストラクタが呼ばれる処理系もあるけどね
468 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 18:03:42 ] >>467 ほんとだ見落としてた 俺の3時間を返せorz
469 名前:デフォルトの名無しさん mailto:sage [2008/12/22(月) 08:14:31 ] ∩_ 〈〈〈 ヽ 〈⊃ } ∩___∩ | | | ノ ヽ ! ! / ● ● | / | ( _●_) ミ/ Lua!! 彡、 |∪| / / __ ヽノ / (___)
470 名前:デフォルトの名無しさん mailto:sage [2008/12/22(月) 09:22:22 ] toLuaでC++とLuaをバインディングしてるんだけど、 yieldをC++側で呼ぼうとしたとき、 toLuaの生成したラッパーの中じゃ、 lua_yieldを呼べないようなんだが、 どうしてる?
471 名前:デフォルトの名無しさん mailto:sage [2008/12/22(月) 18:53:35 ] >>470 lua が yeild をどうやって実装しているか、ソースを追っかけてごらん。
472 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 14:38:55 ] IGDAでこういったイベント新年にやるみたいだから、参加するのもよいかも ttp://www.igda.jp/modules/eguide/event.php?eid=58 CRIScriptの人が来るのはちょっと驚いた。 アメリカからはるばる・・・
473 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 15:41:56 ] >>472 浜中さんの本すでに持ってる人にはあまり新しい情報は出ない気がする…
474 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 05:08:14 ] 日本製のゲーム用スクリプトで最もオープン、かつ、つかわれまくってるものを 開発した W.Dee 氏をパネリストでよぶべきだろう、とちょっと思ったけど、 よくよく考えてみればあの人はゲームは本業じゃないか……
475 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 10:57:23 ] うん。Nスクの人だと食指は動かないが、Deeたんなら是非行く。 というか、組込み言語の話だからじゃないかな(Nスクの人がいるけど)。
476 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 09:34:59 ] ∩_ 〈〈〈 ヽ 〈⊃ } ∩___∩ | | | ノ ヽ ! ! / ● ● | / | ( _●_) ミ/ Lua!! 彡、 |∪| / / __ ヽノ / (___)
477 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 19:43:21 ] Nスクリプトは、組み込み言語?というよりDSLでは? ゲームとか簡易GUIが簡単に作れるHSPみたいなイメージ
478 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 19:43:56 ] ごめん、 W.Dee ってきりきりの人かスアソ
479 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 16:45:20 ] ∩_ 〈〈〈 ヽ 〈⊃ } ∩___∩ | | | ノ ヽ ! ! / ● ● | / | ( _●_) ミ/ O sol e a Lua!!, parabens!!! 彡、 |∪| / / __ ヽノ / (___)
480 名前: 【大吉】 【1340円】 mailto:sage [2009/01/01(木) 17:04:11 ] ぅあけおめー
481 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 18:49:32 ] // / / パカッ //⌒)∩__∩ /.| .| ノ ヽ / | | ● ● | / | 彡 ( _●_) ミ Lua!! / | ヽ |∪| /_ // │ ヽノ \/ " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
482 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 18:59:39 ] あ、ぅあたんいんしたお!
483 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 23:35:21 ] ところでLuaとかでyieldでスクリプトの処理を一時停止させて、 その状態をファイルとかに保存して、そのファイルを読み込んで復元、ってできる?
484 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 23:47:11 ] 使ったこと無いけどPluto使えばできるかも 日本語のドキュメントがないけど ttp://luaforge.net/projects/pluto/
485 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 00:54:41 ] >>484 d ちょっと調べてみる。 しかし日本語マニュアルがないのは地味にきついな… 普段使ってるAngelScriptも英文マニュアルしかないし。
486 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 01:02:51 ] Xtalたん結婚おめ!
487 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 01:31:47 ] 地味にきついな、といいながら日本ではマイナーもいいところなAngelScirptを普段使っているところに男を感じるw
488 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 19:28:38 ] Xtalってソースコードに他言語との比較ベンチコードが のってるけど、実際はやいの?
489 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 19:39:39 ] >>486 おめでと〜w
490 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 23:22:03 ] >>487 日本語マニュアルはないけど、サンプルがたくさん付いてて分かりやすいのよ。 あと、LuaやSquirrelのスタック介したやり取りじゃなくて直接的にC++とやり取りできるんで便利。 ただデフォでShiftJISに対応してないけど…
491 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 08:32:24 ] ∩_ 〈〈〈 ヽ 〈⊃ } ∩___∩ | | | ノ ヽ ! ! / ● ● | / | ( _●_) ミ/ Lua!! 彡、 |∪| / / __ ヽノ / (___)
492 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 09:33:55 ] Xtalなんて誰も使ってないから 気楽にやりなー
493 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 10:50:27 ] >>488 上にSquirrelよりはやいって書いてあるよ
494 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 11:00:31 ] Squirrelも、JIT対応版を使えばLuaやXtalよりはやくなるけどね。
495 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 13:24:56 ] Luaも、JIT対応版を使えばSquirrelやXtalよりはやくなるけどね。 Xtalも、JIT対応版を作ればLuaやSquirrelよりはやくなるけどね。
496 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 14:05:36 ] // / / パカッ //⌒)∩__∩ /.| .| ノ ヽ / | | ● ● | / | 彡 ( _●_) ミ Lua!! / | ヽ |∪| /_ // │ ヽノ \/ " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
497 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 20:18:26 ] つまりLuaSquirrelXtal-JITを作れば、LuaやSquirrelやXtalよりもはやいLuaSquirrelXtalが出来るということだね。
498 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 20:58:34 ] a
499 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 21:55:53 ] C++のインスタンスをLuaからLuaのインスタンスかのようにアクセスしたいのですがやり方が判らず悩んでいます。 インスタンスメソッドを直接lua_registerできないですよね、いったいどうしたら良いものやら。。 ご存知のかたいらっしゃいましたら是非お教えください。
500 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 07:44:04 ] ∩_ 〈〈〈 ヽ 〈⊃ } ∩___∩ | | | ノ ヽ ! ! / ● ● | / | ( _●_) ミ/ Lua!! 彡、 |∪| / / __ ヽノ / (___)
501 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 12:13:07 ] // / / パカッ //⌒)∩__∩ /.| .| ノ ヽ / | | ● ● | / | 彡 ( _●_) ミ まピョーん☆ / | ヽ |∪| /_ // │ ヽノ \/ " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
502 名前:デフォルトの名無しさん mailto:sage [2009/01/14(水) 05:46:16 ] ∩_ 〈〈〈 ヽ 〈⊃ } ∩___∩ | | | ノ ヽ ! ! / ● ● | / | ( _●_) ミ/ まピョーん☆ 彡、 |∪| / / __ ヽノ / (___)
503 名前:デフォルトの名無しさん mailto:sage [2009/01/14(水) 08:14:31 ] _,..-- 、 ,' ヽ まピョーん☆ /<┃> <┃ >l _ _ l 、,,--イ | /Mヽ /M l l ` ̄ Lノ/ i `ー l ̄  ̄ヽ / \ { ヽ `ー-'ノ `ー----''"
504 名前:デフォルトの名無しさん mailto:sage [2009/01/14(水) 14:25:26 ] すでにLua関係ねえw ひかえてくれw
505 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 18:04:39 ] >>499 メンバ関数呼び出しは、関数に対応した整数値とthisポインタを登録して __call内部でswitchで対応する関数を呼び出すような実装ならしたことあるな。 もっとスマートな方法があると思うけど。
506 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 21:11:50 ] >>499 toLuaとかluabind使うのがええよ。 自前でやるなら、テーブルなどを使うべし。
507 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 23:47:31 ] ∩_ 〈〈〈 ヽ 〈⊃ } ∩___∩ | | | ノ ヽ ! ! / ● ● | / | ( _●_) ミ/ Lua まピョーん☆ 彡、 |∪| / / __ ヽノ / (___)
508 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 19:50:53 ] AngelScriptで改行コードがCR+LFだとスクリプトがビルドできない Windows+MinGWでやってるんだけどこれって仕様なのかな unexpected tokenとか出るから最初何かと思ったわ
509 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 00:02:51 ] >>508 自分の所では普通にビルドして実行できてるな。 ちなみにWindows+VisualStudio2005。 あと、全角文字使ってない?
510 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 09:10:32 ] >>509 半角英文字しか使ってないよー void main() { return; } これでエラー出たんだぜw 普通に実行できるということはライブラリ自体のビルドに問題があったのかな なんでだろう、Linux環境と誤認してるのか?
511 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 10:02:50 ] 別にLinuxでもSolarisでも改行コードのせいでビルド失敗することないけどな。
512 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 10:30:55 ] スクリプトをUnicode(UTF-16)で保存してないか? 現バージョンだとUTF-16のスクリプト読めないみたい。
513 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 11:16:26 ] >>511 ライブラリがLinux環境(LF)を期待しているのに、Windows環境(CR+LF)を食わせるから エラーが出るのだと思ったんだが… Linux環境でCR+LFを食わせてもエラーが出ないなら、他に原因があることになるな >>512 一応いくつかのエディタで開いてUTF-8Nだということは確認した けれども、文字コード自体は最初から変えてないよ エラーがいつもファイルの末尾で出てたから、 試しに void main() { return; } ってのをやってみたら ビルドが通ることを発見して、改行コードに目をつけた よく考えたら改行コードに問題があるなら、全ての行でエラーが出るはずだよな… ファイルの末尾でだけエラーが出てたにも関わらず、なぜ改行コードを変えるとビルド出来るんだろう
514 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 11:51:16 ] MinGW の stdio のバグじゃないかな。 EOF判定がおかしくて、最後の文字(または行)が読めてないか、 あるいは逆にごみを読み込んでしまってるかのどちらかじゃないかと思う。
515 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 13:20:53 ] スクリプトを丸ごと読み込んでそのまま使った場合に、 EOFが無くてスクリプトを読み込んだ領域の後ろの部分まで 解析しようとしてエラー起こしたことがあったな。
516 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 13:29:59 ] 最後に空行かコメント行入れてみるとわかるかも?
517 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 23:11:29 ] ∩_ 〈〈〈 ヽ 〈⊃ } ∩___∩ | | | ノ ヽ ! ! / ● ● | / | ( _●_) ミ/ Lua!! 彡、 |∪| / / __ ヽノ / (___)
518 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 00:40:38 ] まず最初にエラーの出るファイルをバイナリダンプすべきじゃね?
519 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 08:39:12 ] // / / パカッ //⌒)∩__∩ /.| .| ノ ヽ / | | ● ● | / | 彡 ( _●_) ミ Lua まピョーん☆ / | ヽ |∪| /_ // │ ヽノ \/ " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
520 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 10:53:07 ] 原因が分かった freadでファイルを読み込んでたんだけど、そこでCR+LFが勝手にLFに変換されてた そのせいでファイルの長さと文字列の長さでズレが生じて、 スクリプト読み込み時にその差分だけ余計な領域まで踏み込んでた "r"じゃなくて"rb"で読み込むようにしたらエラー出なくなったよ サンプルのユーティリティ関数をそのまま使ったのが悪かったのかもしれん
521 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 11:14:18 ] ∧∧ ヽ(・ω・)/ ズコー \(.\ ノ 、ハ,,、  ̄  ̄ まあよくあることだなw Rubyのライブラリでも何か読み込みの挙動がおかしいと思ったら、 ライブラリ側でWindows考慮してなくて、バイナリモードになってなかったり。
522 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 13:27:29 ] テキストモードって何のために存在するの?
523 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 13:40:23 ] fprintf(f, "Hello World\n"); ってコードの、\n を出力時に \r\n にむりやり変換するのと、fclose したときに EOF をむりやりつけるために存在する。DOSの遺産。
524 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 13:41:08 ] 歴史的な経緯 タイプライターやTTY、CP/Mの歴史たどるといいかも。
525 名前:デフォルトの名無しさん [2009/02/05(木) 17:09:16 ] ttp://luaforge.net/projects/lualangpack/ これ使ってる人いない?
526 名前:デフォルトの名無しさん [2009/02/05(木) 17:18:06 ] 岡山オワタ www.geocities.jp/popaihoge/index.html
527 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 19:56:41 ] // / / パカッ //⌒)∩__∩ /.| .| ノ ヽ / | | ● ● | / | 彡 ( _●_) ミ Lua!! / | ヽ |∪| /_ // │ ヽノ \/ " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
528 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 22:23:10 ] // / / パカッ //⌒)∩__∩ /.| .| ノ ヽ / | | ● ● | / | 彡 ( _●_) ミ Lua まピョーん☆ / | ヽ |∪| /_ // │ ヽノ \/ " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
529 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 22:31:04 ] Luaのクマーさん
530 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 11:43:23 ] >>525 まずお前が試して、ダメ出しした方がいいんじゃない? 俺は、ずっと秀丸で済ましてるな。 LuaEditも使える様にインストールはしたけど、 本当にテンパった時の保険として残してる感じ。
531 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 18:18:29 ] >>530 今のところの感じでは、 ・色分けされて便利 ・文字入力するたびに候補でもない単語が出てくるのがウザイ ・プロジェクトの設定が分からない ググッて見たけど何処にも解説ないし、Raedmeが欲しかった。 環境を揃える所から入る性質で、 「コレはいいな」って思ったのにプロジェクトの設定が分からないから聞きたかったんだ。 (プロジェクトの設定できたらデバッグとか出来るのかと思うんだけどなぁ) やっぱサクラエディタとか秀丸とかSciTEとか使った方がいいのかな・・・・。 取り合えずはLuaLanguagePackで勉強進めてみる。
532 名前:名無しさん [2009/02/07(土) 21:08:45 ] ./lua > の状態で、Ctrl-C以外で終了する方法はありますか? exit とか quit とかやってみましたがダメでした
533 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 21:32:09 ] そこは Ctrl+Zだと思う。 標準入力を終了しない事には終われないのが正常なのでは?
534 名前:名無しさん [2009/02/07(土) 21:36:59 ] >>533 どうも Linuxなので、 Ctrl-D でぬけられました。
535 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 07:53:47 ] ∩_ 〈〈〈 ヽ 〈⊃ } ∩___∩ | | | ノ ヽ ! ! / ● ● | / | ( _●_) ミ/ Lua!! 彡、 |∪| / / __ ヽノ / (___)
536 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 13:00:58 ] ∩_ 〈〈〈 ヽ 〈⊃ } ∩___∩ | | | ノ ヽ ! ! / ● ● | / | ( _●_) ミ/ Lua まピョーん☆ 彡、 |∪| / / __ ヽノ / (___)
537 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 22:19:59 ] wiki.alliedmods.net/Introduction_to_SourcePawn Pawnでこう、いい日本語のサイトありますかねぇ。
538 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 08:44:59 ] // / / パカッ //⌒)∩__∩ /.| .| ノ ヽ / | | ● ● | / | 彡 ( _●_) ミ Lua!! / | ヽ |∪| /_ // │ ヽノ \/ " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
539 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 13:54:50 ] いまさらながらLua本買ってみた。スクリプト言語による〜〜ってやつ アマチュア個人でゲーム作っててスクリプトはSquirrelでの実装を考えてたんだけど、Luaに気持ちが揺れる揺れる 嗚呼どうしよう!
540 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 14:21:12 ] ∩_ 〈〈〈 ヽ 〈⊃ } ∩___∩ | | | ノ ヽ ! ! / ● ● | / | ( _●_) ミ/ Lua!! 彡、 |∪| / / __ ヽノ / (___)
541 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 14:30:54 ] おれは速度と軽さを求めないならSquirrelかな それにLua本に書いてある考え方ってほとんどSquirrelにも応用できるんじゃない?
542 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 15:12:47 ] // / / パカッ //⌒)∩__∩ /.| .| ノ ヽ / | | ● ● | / | 彡 ( _●_) ミ Lua!! / | ヽ |∪| /_ // │ ヽノ \/ " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
543 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 15:16:25 ] // / / パカッ //⌒)∩__∩ /.| .| ノ ヽ / | | ● ● | / | 彡 ( _●_) ミ Lua まピョーん☆ / | ヽ |∪| /_ // │ ヽノ \/ " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
544 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 20:34:36 ] >>539 ホントのオススメは、自分で何か実装してみてから選ぶことだけどな。 Lisp とか Forth ライクなものなら結構簡単だし、BASIC やアセンブラのような LL1 で行指向のものなら更に簡単だ。
545 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 00:21:33 ] >>539 AngelScriptが使って欲しそうな目で見ている。
546 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 00:55:33 ] AngelScript試してみたけどここのサンプルが動作しない plaza.rakuten.co.jp/OldStyleFactory/diary/200902030000/ 関数の取得までは出来ているぽいんだけどasPrintが呼び出されない
547 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 08:45:40 ] ∧_∧ / ̄ ̄ ̄ ̄ ( ・∀・) < Lua!! ⊂/ 9) \____ q( / > >
548 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 09:36:17 ] >>546 自分の所では普通に動いたなー。 環境はXPSP2、VisualStudio2005SP1、AngelScript2.15.1。
549 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 11:43:06 ] Squirrelって重いんですか? Luaにくらべてコードがシンプルそうだから、組み込んだ後のデバッグも楽だと思って、LuaじゃなくてSquirrelを採用しようかと思っていたのですが。 ちなみに、Squirrelって何であんなに不要なbreakやcontinueがあるんですかね?
550 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 11:53:07 ] 不要じゃないだろ。常識的に考えて。
551 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 12:07:10 ] ボケは分かりやすくね
552 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 12:36:48 ] >>549 298 名前:デフォルトの名無しさん[sage] 投稿日:2008/09/20(土) 02:25:07 速さと軽さならLua 基本的な演算とsuspendを行う処理を一億回ループさせたらLuaはSquirrelの1/3の時間ですんだ
553 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 13:14:33 ] イメージとしてはLuaの方が早いって意外だよね Luaもがんばってるな〜
554 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 13:23:16 ] >>553 >イメージとしてはLuaの方が早いって意外だよね お前だけな
555 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 14:05:24 ] 俺だけだったか Luaは実際には使ったことないんで知らないんでイメージでしか語れんかったわ すまん
556 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 14:05:51 ] ∧_∧ / ̄ ̄ ̄ ̄ ( ・∀・) < Lua!! ⊂/ 9) \____ q( / > >
557 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 20:02:42 ] JITでC++と同等の速度が出る組み込み言語 誰か作ってよ
558 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 20:18:31 ] >>552 Squirrelでsuspendを使うということは、マイクロスレッドを切り替える処理があるということなんだが。 それが軽いはず無いだろう。 ただし、基本的な演算処理でSquirrelがLuaの半分くらいの速度しか出ないのは本当。 速さだけ求めるならXtalも有力。
559 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 22:15:34 ] >>557 C++が速い理由には、言語仕様の差以上に、コンパイラに投入された労力が膨大なものだからというのもある。 LuaでもSquirrelでも、人月をかければC++以上に速くする事は可能だと思う。 逆に言うと、言語仕様だけではどうにもならない。 >>558 マイクロスレッドに関してはLuaも全く同じ。 Luaではコルーチンって呼ぶけどね。 298もそれはわかった上で比較してると思うよ。
560 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 22:47:50 ] ____ / \ /\ キリッ . / (ー) (ー)\ <C++が速い理由には、言語仕様の差以上に、コンパイラに投入された労力が膨大なものだからというのもある。 / ⌒(__人__)⌒ \ LuaでもSquirrelでも、人月をかければC++以上に速くする事は可能だと思う。 | |r┬-| | 逆に言うと、言語仕様だけではどうにもならない。 \ `ー’´ / ノ \ /´ ヽ | l \ ヽ -一””””~~``’ー?、 -一”””’ー-、. ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒)) ____ /_ノ ヽ、_\ ミ ミ ミ o゚((●)) ((●))゚o ミ ミ ミ <だっておwww /⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\ /⌒)⌒)⌒) | / / / |r┬-| | (⌒)/ / / // | :::::::::::(⌒) | | | / ゝ :::::::::::/ | ノ | | | \ / ) / ヽ / `ー’´ ヽ / / | | l||l 从人 l||l l||l 从人 l||l バンバン ヽ -一””””~~``’ー?、 -一”””’ー-、 ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
561 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 00:22:41 ] その通りのことにそのAA使ってもな
562 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 00:37:35 ] 残念ながら経験10年のおそらく天才プログラマーが作ったJavaScriptが 学生が演習で作ったCのサブセット以下の速度なのよ
563 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 00:49:05 ] >>562 CとJavaScriptで速度差が出るとしたらプロパティアクセス時の ハッシュ計算だと思うんだけど、その差はJITすれば消せる。 JavaScriptはV8で比較した?
564 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 01:26:05 ] そんなんで消せたら 誰も苦労しないだろw
565 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 02:18:11 ] しかし、SquirrelにもLuaみたいなスクリプトのライブラリを置くリポジトリサイトが欲しいよな。 ネタは色々あるんだが。
566 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 03:17:30 ] >>562 ベンチマークに使ったコードは、どんな内容だったのでしょうか? 興味があります。
567 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 03:21:07 ] >>559 squirrel でも普通コルーチン。マニュアルの表記は「協調スレッド(コルーチン)」 「マイクロスレッド」だと、システムよりの機能を使ってるような誤解を招くから、 間違いじゃないけどふさわしくないと思う
568 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 04:38:29 ] lucille.atso-net.jp/aobench/ 誰かこれやってみて
569 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 08:52:18 ] 機械語に近い言語体系じゃないと、C並に早くならんだろうな
570 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 08:59:47 ] 559はJITが機械語を生成すると思ってんのかな?
571 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 11:14:15 ] C++より速くできるって…夢でも見てたんだろうね
572 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 12:05:33 ] ____ / \ /\ キリッ . / (ー) (ー)\ <その通りのことにそのAA使ってもな / ⌒(__人__)⌒ \ | |r┬-| | \ `ー’´ / ノ \ /´ ヽ | l \ ヽ -一””””~~``’ー?、 -一”””’ー-、. ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒)) ____ /_ノ ヽ、_\ ミ ミ ミ o゚((●)) ((●))゚o ミ ミ ミ <だっておwww /⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\ /⌒)⌒)⌒) | / / / |r┬-| | (⌒)/ / / // | :::::::::::(⌒) | | | / ゝ :::::::::::/ | ノ | | | \ / ) / ヽ / `ー’´ ヽ / / | | l||l 从人 l||l l||l 从人 l||l バンバン ヽ -一””””~~``’ー?、 -一”””’ー-、 ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
573 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 12:09:18 ] 559はバイトコードと機械語を同じだと思っている、に一票。
574 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 13:38:25 ] >>570 に聞きたい。 じゃあ何を吐くんだ?
575 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 13:43:00 ] >>564 V8では新たなプロパティが追加されるたびに プロパティに対して定数時間でアクセスできるような アセンブラコードが生成されるよ。 だからV8は速い。
576 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 13:45:06 ] >>573 突然そんなことを言われても意味がわからない。 その根拠はいったい何さ?
577 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 14:32:58 ] >>567 昔StacklessPythonの記事で、言語仕様上で実装したマイクロスレッドとOS側で実装されるネイティブスレッドの 使い勝手の違いの話があって、それで覚えてしまっていた。 確かにこの場合はコルーチンと呼ぶべきだね。勉強になった。 各種言語処理系の仮想マシンが一種の機械語をサポートする場合、 その機械語、もしくはソースコードからコンパイルして作られた(仮想マシン用の)機械語を一般的にバイトコードと呼ぶ。 これに変換してから実行する形態をバイトコード処理系、もしくはバイトコードインタプリタと呼ぶ。 一方、CPUが直接実行する機械語を生成するのがJITコンパイラだ。 ただし欧米人でもたまに間違えてたりするので記事読む時に注意がいる……。
578 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 14:58:00 ] ____ / \ /\ キリッ . / (ー) (ー)\ <一方、CPUが直接実行する機械語を生成するのがJITコンパイラだ。 / ⌒(__人__)⌒ \ | |r┬-| | \ `ー’´ / ノ \ /´ ヽ | l \ ヽ -一””””~~``’ー?、 -一”””’ー-、. ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒)) ____ /_ノ ヽ、_\ ミ ミ ミ o゚((●)) ((●))゚o ミ ミ ミ <だっておwww /⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\ /⌒)⌒)⌒) | / / / |r┬-| | (⌒)/ / / // | :::::::::::(⌒) | | | / ゝ :::::::::::/ | ノ | | | \ / ) / ヽ / `ー’´ ヽ / / | | l||l 从人 l||l l||l 从人 l||l バンバン ヽ -一””””~~``’ー?、 -一”””’ー-、 ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
579 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 15:02:17 ] で、人月をかければJITがC++に勝てるの?
580 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 15:04:19 ] 単に比較したって意味がないだろう
581 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 15:13:24 ] C++も負けないようにJITにするんだ!
582 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 15:13:52 ] 茶化してるだけの人とマジな人と、マジにわかってない人と、いろいろいるな
583 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 15:17:30 ] >581 LLVMとか
584 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 17:12:36 ] >>575 プロパティに定数時間でアクセス出来るのと JIT使っているっていうのは関係ないだろ
585 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 17:41:53 ] JIT使ってもC/C++より早くなるわけねぇじゃん 現代のCコンパイラがどれぐらいの労力をかけて最適化コード吐くのか考えてみたことある?
586 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 17:49:38 ] C++より速くなる病患者が Javascriptにまでw
587 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 17:52:39 ] コーディングにかかる時間は考慮しないんだな
588 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 17:53:08 ] 結局JITは怖くて使わないです。えぇハイ
589 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 17:54:00 ] >>584 JavaScriptだとプロパティの追加や削除を実行時に しなきゃならんことがある。 なので、普通はそれをプロパティに対するハッシュで実装するわけだけれど、 Googleはプロパティの変化ごとにJITコンパイルする道を選んだ。 V8 JavaScript Engine code.google.com/apis/v8/design.html > JavaScript is a dynamic programming language: properties can be added to, and deleted from, > objects on the fly. This means an object's properties are likely to change. > V8 compiles JavaScript source code directly into machine code when it is first executed. > There are no intermediate byte codes, no interpreter. Property access is handled by inline cache > code that may be patched with other machine instructions as V8 executes.
590 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 17:57:25 ] 機械語を生成できたところで、コンパイラの性能差が大きすぎるでしょ
591 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 18:19:21 ] プロパティの変化ごとにJITコンパイルするとか 意味不明
592 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 18:37:03 ] 現代のCコンパイラがgccの事であるなら 労力だけかけても間違った結果しか出てこないもんなんだなー とは考えてみた事がある 主にループ抜けなくなるとか
593 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 18:45:52 ] gccについては、あの…その……うんゴメン
594 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 18:48:15 ] >主にループ抜けなくなるとか wwwww
595 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 18:50:37 ] Squirrelを使おうとしているんだが、 バインダ(SqPlus)の更新が半年前から止まっていて、使おうかどうか躊躇してる。 みんなはバインダに頼らず直接実装した?
596 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 18:57:43 ] 優れたJIT技術者がいるとして そいつが何の仕事を選ぶかだな
597 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 20:01:23 ] // / / パカッ //⌒)∩__∩ /.| .| ノ ヽ / | | ● ● | / | 彡 ( _●_) ミ Lua!! / | ヽ |∪| /_ // │ ヽノ \/ " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
598 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 20:19:26 ] 散々JITについて盛り上がっておいて、ここまでLuaJITに言及なし
599 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 20:30:57 ] JIT使ったことねぇからわからねぇ が大半だと思います
600 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 21:12:32 ] >>595 俺はjkBindに乗り換えようかと考えている。 既に作者とは連絡を取った。 Squirrel-2.2.2-stable向けのパッチがフォーラムにあがってる。
601 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 21:22:04 ] jkBindについてkwsk
602 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 21:31:40 ] >>600 ありがとう。jkBindも選択肢としてありなのか。なるほど。 ちょっと調べてみますね
603 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 21:44:37 ] 結局Luaなんて誰も使ってなくて へんなクマが冷やかしに来るスレ?
604 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 22:31:10 ] バリバリLua使ってるような人が中々来ないスレ 現在は使ってないけど「今後使ってみようかな」とか興味ある人が情報収集しにくるスレ あとはクマスレ
605 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 22:35:26 ] // / / パカッ //⌒)∩__∩ /.| .| ノ ヽ / | | ● ● | / | 彡 ( _●_) ミ Lua まピョーん☆ / | ヽ |∪| /_ // │ ヽノ \/ " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
606 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 23:01:53 ] // / / パカッ //⌒)∩__∩ /.| .| ノ ヽ / | | ● ● | / | 彡 ( _●_) ミ AngelScript!! / | ヽ |∪| /_ // │ ヽノ \/ " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
607 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 00:38:30 ] ほっそいなAngelwwwww Luaは使ってないけどXtalはバリバリ使ってるよ!
608 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 00:40:39 ] AngelScriptをメインで使ってるのは俺だけですかそうですか。
609 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 01:16:03 ] AngelScriptは不遇だよね〜 もうちょっとがんばれば2強に肩を並べるぐらいになってたかもしれないのに
610 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 01:41:28 ] JITコンパイラが付いてC++並の速度で動くようになれば AngelScriptも流行るよ
611 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 02:15:47 ] なんかJITが好きな奴がいるけど、ゲームとかに組み込んで使用する 用途での言語処理系でJITなんて危なくて使えないだろw
612 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 02:38:34 ] JIT の実装が進んでるシステムは、事前コンパイルできる場合があるので、 開発中は作業効率がいい動的スクリプト言語として使って、完成したら コンパイルしてネイティブコード化するという方法もある。
613 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 06:44:51 ] Pascalでいいやん
614 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 06:57:19 ] CriScriptはベンチを見る限り割と良さそうなんだがなぜか話題にも上がらない
615 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 09:24:13 ] ∩_ 〈〈〈 ヽ 〈⊃ } ∩___∩ | | | ノ ヽ ! ! / ● ● | / | ( _●_) ミ/ Lua!! 彡、 |∪| / / __ ヽノ / (___)
616 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 09:24:39 ] 先月の IGDA の奴を聴きにいって以来、オレの中で CriScript 株は急上昇中。
617 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 10:33:51 ] 実際使ってみたなら感想よろ
618 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 10:47:00 ] スクリプトって多々あるけど、 今後の展望を含め、どれか一派に絞らなけりゃならないのは賭けだよね ・言語仕様 ・ライセンス ・動作環境 ・速度 ・メモリ量やGC問題 ・安定性 ・将来性 ・国内外でのコミュニティの活性度 など複雑な素因が絡んでくるもんね。 自分はSquirrelを選んだが、将来残っているか不安っちゃ不安だわ。 磐石なスクリプトが存在するか、せめて機械的なコード置換があればいいんだがなぁ。
619 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 11:05:29 ] コミュニティや作者のサポートが必要とはあまり思わないな ソースコードが何百万行もあるソフトとは違う
620 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 11:30:48 ] 問題ってのは起ってほしくないときに起るもんだ そのときに同じように余裕ぶっこいていられるかな?
621 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 11:35:30 ] バグが見つかったら、自分の書いたソースだろうが利用しているオープンソースだろうが自力で直す。 直す手段が用意されているところがオープンソースの処理系のいいところじゃないか。
622 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 11:50:11 ] お金とってサポートしてくれるところがあるといいなーと思う場合は無きにしもあらず
623 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 11:50:42 ] Squirrelは辛うじて読めたが、Luaは読めなかった俺 今のところ自力で直す場面に出くわした事は無いが、これを直すとなると骨折れるだろうな…
624 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 12:05:00 ] >>601 jkBindだが、SqPlusと比較してみる。 いいところ: ・ソースコードが遥かにきれいで簡潔 ・グローバルスコープで余計なことをしない(main関数抜けるまで握ってるオブジェクト解放しないってなんだそれ>SqPlus) わるいところ: ・テストコードが整備されていない ・マニュアルがない(簡単なサンプルコードのみ) ・Squirrel言語仕様への対応が古い(公式のはコンストラクタの登録に対応してない。要パッチ) ・DirectXのラッパーライブラリがない?(全然使わんよこんなもの) ・せめてソースコードにコメントくらいは書いてください バインダとしての使い勝手はそう変わらないと思う。 どちらもtemplateを用いるし。
625 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 15:14:24 ] plusd.itmedia.co.jp/pcuser/articles/0902/17/news046.html キーカスタマイズ機能でLuaを使ってるそうな。
626 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 20:15:03 ] Lua の言語仕様が好きって人いる? JavaScript から prototype をなくしたような感じで、 しかも stackless。 なんかすごく気に入ったんだけど、そういう人いないかしら?
627 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 20:34:28 ] pascalっぽいところが好き
628 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 21:08:40 ] 俺は pascal っぽいところが嫌いw
629 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 22:28:38 ] end だけかYO!
630 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 22:55:36 ] どうやっても--はコメントではなくて、デクリメントと認識してしまっている
631 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 00:26:57 ] AngelScriptはなぜ広まらないんだろう。 かなり使いやすいと思うんだが、やっぱり日本語資料が少ないのがネックなんだろうか。
632 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 01:57:11 ] . ∩___∩ ; ; | ノ||||||| ヽ ` , / ● ● | ;, | \( _●_) / ミ AngelScript… ; 彡、 | |∪| |、\ , ./ ヽノ/´> ) : (_ニニ> / (/ ; ; | | ; ' \ ヽ/ / : , / /\\ . ; し’ ' `| | ;
633 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 04:01:51 ] >>631 コルーチンが無いからスルーした記憶がある 「このサンプルは AngelScript でどうやったらコルーチンが実装できるか示してる」 って状態だとさっぱり嬉しくない
634 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 08:03:15 ] ぅあ!
635 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 08:54:02 ] 過去スレを見たら、Lua で Yコンビネータを書いてる人とかいたけど、今は いないのかな。 言語オタクの興味の対象から、実用フェーズに移ったということなのかなあ。 「スクリプト」で差がついた日米ゲーム開発の生産性 GDCを読む(2) デジタル家電&エンタメ-最新ニュース:IT-PLUS it.nikkei.co.jp/digital/news/index.aspx?n=MMITew000006022009
636 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 12:01:19 ] >>633 C++のバイナリ仕様に合わせて設計されてるわけだから、C++にできないことを実装するのは難しいのかもな。 ただJITコードですら中断可能なコルーチン化は実現できるので、やりようはあると思う。
637 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 12:08:11 ] ほう
638 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 12:12:47 ] >>633 普通にSuspendじゃだめなん? lua_yieldと同じことはできるよ。 引数渡せないが。
639 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 12:31:17 ] >>638 マニュアル眺めてまともに記述されてないってことでスルーしただけなのでつっこまれると困る。すまん できるのならどんな記述でできるのかぐらい書いておいてほしい
640 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 12:31:25 ] むしろ引数なんか要らないっていう
641 名前:デフォルトの名無しさん [2009/02/18(水) 13:37:22 ] >>639 void Suspend() { asIScriptContext *lpContext=asGetActiveContext(); if(lpContext!=NULL) { lpContext->Suspend(); } } こんな感じの関数をC++の方に記述して、このSuspend関数をasIScriptEngineインスタンスにRegisterGlobalFunctionで登録すればOK。 Luaだと、 int yield(lua_State *l) { return(lua_yield(l, 0)); } こんな感じかな?
642 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 19:10:41 ] Squirrelのバインド操作が意味わからん……。 バインダ使わずその辺を自前で実装したいんだが、SqPlusのコードを読んでてTemplateの嵐だったので投げた。 次はjkBind読むしかないのか……。 SquirrelのC/C++への組み込み方法について、何か参考になるページありませんか?
643 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 19:26:30 ] tolua++とか
644 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 19:28:19 ] 補足です。一般的なsqstd_dofileやsq_compileなどからsq_callすることは出来ております。 スタック操作については若干曖昧ですが、C++側からSquirrel内の関数を呼ぶことは出来ました。 特にBind操作(LuaからC++関数の呼び出しや定数/変数のBind)について、 グルーコードの自動化のような処理を探しています。(Luaで言うところのtolua++に相当する実装)
645 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 19:34:35 ] >>642 >>644 それを処理するのに、C++ではtemplateが一番適しているわけだが? SqPlusにはマクロ版も一応ある。お勧めはしないが。
646 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 19:42:05 ] ttp://muffin.cias.osakafu-u.ac.jp/~matumoto/cgi-bin/xt.cgi?prog/squirrel ここを全部読んで理解するべし。 C++ のクラスを squirrel のクラスとして登録する方法は 「C++オブジェクトでのメタメソッド使用」から先で解説されてる。 ポイントになるのは sq_newclass と、sq_setinstanceup/sq_getinstanceup テンプレートはラッパー関数群の自動生成を行ってるだけで本質じゃないよ
647 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 21:37:31 ] >>646 645だが、642は自前でバインド作業をやろうとしてたのか。 2行目の前半を読み飛ばしてた。スマン。 ……まあ、そのページ読めば分かるだろう。 ClassオブジェクトをSquirrel中にこさえるのと、それをroottableに登録するのと、 Classオブジェクトにメソッドやらプロパティやらの諸情報を埋め込むのと大まかに3つに分かれる。
648 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 02:18:49 ] そろそろ Squirrel の読み方考えようぜ!
649 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 02:40:42 ] 発音記号に照らせば スクァラル が近いが、俺はスクワールと呼ぶことにしている。 ちょうどそんな名前の喫茶店があるので。
650 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 06:40:56 ] ∩_ 〈〈〈 ヽ 〈⊃ } ∩___∩ | | | ノ ヽ ! ! / ● ● | / | ( _●_) ミ/ Lua!! 彡、 |∪| / / __ ヽノ / (___)
651 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 07:08:30 ] ∩_ 〈〈〈 ヽ 〈⊃ } ∩___∩ | | | ノ ヽ ! ! / ● ● | / | ( _●_) ミ/ Lua まピョーん☆ 彡、 |∪| / / __ ヽノ / (___)
652 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 09:42:21 ] ちくしょうクマが可愛くなってきたw
653 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 11:38:00 ] luaやsquirrelよりもgauche, ypsilon, moshのような国産schemeの方が速いらしいぜ これからの組み込みスクリプト言語はschemeの時代かもしれない
654 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 12:18:31 ] はいはい
655 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 12:22:24 ] それは無い。残念ながら。 ありうるならもう来てないとおかしい>schemeの時代
656 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 12:30:18 ] schemeの処理系がいくら性能がよくて、柔軟な性質を持っていても、 普通のスクリプタは括弧の嵐を見ただけでげんなりするからな lisp系がメジャーになることは永遠にないだろう
657 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 12:37:12 ] かなりいい線まで行って、おいしいところを非lisp系に取られるんだよなぁ
658 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 13:20:30 ] それがLispの矜持でさぁ
659 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 13:35:58 ] ・・・・・・隠れlisp使い多い?w
660 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 15:24:06 ] どっちでもいいよ。 組み込み言語の利点は、ただ1つ「コンパイルなしで改変、実行できる」 言ってしまうとこれだけだし。 デザイナが弄るなら、弄るデータなんてほとんどデータだし、 括弧が多少多くてもプロなら入力してくれる。 ロジックはどうせ、プログラマの仕事だから、schemeだろうが何だろうが、かまわん
661 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 15:27:55 ] まあ、止めはしない。がんばれ。
662 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 17:06:57 ] jkBindってどこにあるの?
663 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 17:59:28 ] 釣りか? ググれ。
664 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 18:08:12 ] >>645-647 ありがとうございます。 教えてもらったサイトを見て実装してみました。大変助かりました。
665 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 18:14:53 ] jk-pro.info/en/projects/jkbind/ 2006年で更新止まっているけど ここでいいのかな?
666 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 20:35:55 ] ∧_∧ / ̄ ̄ ̄ ̄ ( ・∀・) < Lua!! ⊂/ 9) \____ q( / > >
667 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 21:12:25 ] >luaやsquirrelよりもgauche, ypsilon, moshのような国産schemeの方が速いらしいぜ 「らしい」とかウゼェから死ねよ、クズ。 各言語のベンチマークに使ったコードを書き込んでから話せや。
668 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 21:19:59 ] 仮にそうだとしても schemeなんか速くたってどうしようもないじゃないか
669 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 22:16:56 ] Schemeは処理系を作るのは容易だが、それでプログラミングするのを 嫌うプログラマがかなり多い。非プログラマにも好まない言語だ。 昔を懐かしみ知識を得るだけしか役にたたないというのが常識。 その常識を無視して新規プロジェクトに導入しようとするのは無能マネー ジャで、他にも間違いを多く侵してる。 学生が自分の勉強用に自作するにはとても良い言語とは思うが。
670 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 22:22:00 ] Schemeは学生のとき やらされたっきりだな
671 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 22:35:22 ] Emacs使ってた時にelisp触ってたぐらいだなぁ。 この前エディタスレに行ってみたら、 「○○という機能があるエディタありませんか?」 「emacsなら出来る。Lispで自分で作ればいいよ」 と言う流れを未だにやっていて笑った。
672 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 23:03:25 ] 良い言語だと思うけど、学ぶのにコストがかかるから導入しにくい。
673 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 00:20:44 ] >>618 いくつか齧ってたらなんとでもなるよ。 似てる概念や要素が多いから。
674 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 00:44:48 ] |Д`)<AngelScriptも忘れないであげてください |ミサッ
675 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 00:47:10 ] // / / パカッ //⌒)∩__∩ /.| .| ノ ヽ / | | ● ● | / | 彡 ( _●_) ミ AngelScript!! / | ヽ |∪| /_ // │ ヽノ \/ " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
676 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 02:44:06 ] スクリプト言語による効率的ゲーム開発 C/C++へのLua組込み実践という書籍の P.43,44にあるスタンドアロンのLuaを実行してテキストファイル(hello.lua)に 書いたスクリプトを実行する(中身はprint("This is hello.lua"))部分を試しているのですが Windowsのコマンドプロンプト上でhello.luaと同じディレクトリに移動し「lua5.1 hello.lua」と入力する部分がうまくいきません コマンドプロンプト上でhello.luaと同じディレクトリに移動という意味が理解できず 勝手にただ単にパスを指定して実行すると解釈したのですが(C:\------\lua5.1 hello.lua) stdin:1: '<name>' expected near '\'と出てきて実行できませんでした stdin:1: '<name>' expected near '\'のキーワードで検索しても期待した内容が出てきませんでした 無知な私にご教授いただければ幸いです
677 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 02:47:02 ] www.google.co.jp/search?q=%83R%83}%83%93%83h%83v%83%8D%83%93%83v%83g+%83f%83B%83%8C%83N%83g%83%8A+%88%DA%93%AE 無知な上に努力不足です
678 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 02:53:10 ] もはやDOSコマンドも知らないプログラマが存在する時代なんだな そんなんでよくプログラム書けるな
679 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 02:58:19 ] 教えて頂きありがとうございました 「コマンドプロンプト 同じディレクトリ」では検索したのですが検索方法も悪かったようです
680 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 03:00:12 ] 前の職場にC++,JavaがめちゃくちゃできるのにDOSコマンド知らん人がいたわ 使う機会ないと覚えないもんだなと思った
681 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 03:05:24 ] DOSコマンド知っているけど 使う機会が無くなったな
682 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 03:25:52 ] ディレクトリの移動はできるようになったのですがLua起動後にhello.luaを実行しようとするとまた stdin:1: '<name>' expected near '\'と表示されます 「stdin:1: '<name>' expected near '\'」はどのような意味を表しているのでしょうか?
683 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 03:28:44 ] だから言ってるだろ無知な上に努力不足だって お前はそうやって完成するまでずっと人に聞きつづけるのかっつーの 本でわからない事があるなら著者に聞けよ
684 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 03:36:52 ] 著者に聞いたら完成するまで人に聞き続けるだろwwww 試しに俺もそのワードでぐぐってみたが多分わからんと思う わざわざここに書き込んでるのは反応が早いからって理由だろうに まあ俺はドSだから教えないけどな
685 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 03:37:17 ] 不快にさせてすみません 著者にわざわざ連絡を取って聞くほどの問題ではないのだろうかと思い書き込みました
686 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 03:51:25 ] Hello,World!が出来ないのを切り捨てるのは性格の悪さがうかがえるな stdin〜はようわからんが俺も同じ内容で引っかかったから教えると lua5.1を起動させずに(重要).exeと.luaを同じディレクトリに置いてlua5.1 hello.luaでいける これは初歩の初歩からやってんのに重要な事書かない筆者が悪いわ これさえわかりゃ後はスムーズに進むぜ
687 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 03:54:13 ] ていうか >Windowsのコマンドプロンプト上でhello.luaと同じディレクトリに移動し「lua5.1 hello.lua」と入力する部分がうまくいきません って自分で書いてるのに >Lua起動後にhello.luaを実行しようとすると やってること違うじゃんよ。これぐらいさすがに気付いて欲しいよ
688 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 03:58:08 ] DOSコマンド使った事ないならそんなもんだ .lua形式のファイル開くんだからlua起動してないとって思ったんじゃね
689 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 04:51:55 ] ∩_ 〈〈〈 ヽ 〈⊃ } ∩___∩ | | | ノ ヽ ! ! / ● ● | / | ( _●_) ミ/ Lua!! 彡、 |∪| / / __ ヽノ / (___)
690 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 05:12:51 ] ∩_ 〈〈〈 ヽ 〈⊃ } ∩___∩ | | | ノ ヽ ! ! / ● ● | / | ( _●_) ミ/ Lua まピョーん☆ 彡、 |∪| / / __ ヽノ / (___)
691 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 05:18:32 ] >>685 たぶんもう少し読んだら出てくるtolua++の解説箇所あたりでも 困ることになる予感がする。 でも苦労したり嫌な思いして覚えたことほど忘れにくいのでがんがれ。 ただその本にはWikiにサポート用のForumあるので、質問とかは あちらに書いた方がいい気はする。
692 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 07:47:20 ] まあ、ypsilon作った会社は社員一人しかいないからなw
693 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 17:21:06 ] コマンドラインなんて使わないな。 バッチファイル作るのに少し教えて貰ったけど全然使う機会無いわ。 便利な世の中になったお陰で考える事が減って美味しいです^q^
694 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 17:30:42 ] >>693 こういう奴がHDD全消去するようなインストーラー作るんだろうな
695 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 18:06:17 ] ぎすぎすした流れをぶった切って申し訳ないが、 luaのイテレータを使用したfor文に渡す引数は イマイチなじめない。 C++/STLのbegin/endになれた身としては最初に渡した "_var"がfor内ブロックに渡されず、_f(_s,_var)の戻り値が 渡される所とか違和感を感じる。 他の言語のイテレータになれた人だとそうでもない?
696 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 19:02:00 ] じゃあC++使ってればいいじゃん
697 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 21:08:32 ] 今時、コマンドラインも使わなきゃLINUX鯖も立てられない奴には仕事は来ないわなw
698 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 21:35:39 ] はいはい挑発伝説挑発伝説
699 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 22:27:30 ] 俺なんか家も学校もUNIXだったし会社はいるまでWindows触ったこともなかったからなぁ。 DOS窓?ぷwなにそれ、って言ったら白い目で見られたよ。 Windowsが全てと思ってる奴もいるし世の中間違ってる。
700 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 22:43:01 ] PowerShellはどうよ?
701 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 22:44:34 ] >>695 Luaのことはほとんど知らないんだけど、w 組み込みでは、 ・iteratorインスタンスをいちいち生成したくない。 ・クロージャやジェネレータを扱いたくない。 という意図があると思う。 特に_s。クロージャ、ジェネレータ相当のことを自前で実装しろと。 単純なイタレータばかりなら、_varだけでいいけど。 そのトレードオフが_f(_s,_var)だと思う。
702 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 23:13:50 ] 先週toLua++更新されてるね。
703 名前:695 mailto:sage [2009/02/22(日) 23:21:55 ] >>701 ごめん。理解できないで詳しくお願い。 ちなみに、私が求めていたのはこんな感じ do local _f, _s, var_1,...,var_n = explist while var_1 do block var_1, ... , var_n = _f(_s, var_1) end end たとえばluaのtableでリンクリスト(nil終端)を操作する iteratorを作るとき、上のだと、 _f=function(_s,_var) return _var.next end _s=nil var_1,...,var_n = top , .... でいけると思うけど、オリジナルのLua版だと _f=function(_s,_var) if _var then return _var.next,... else return _s,... end _s=top _var=nil とかいまいちすっきりしない。(特に_varの位置付け) リンクリストなら無理してforを使用しなくても出来るけどね。 for文がああなったのはLuaの文法との整合性の問題?
704 名前:695 mailto:sage [2009/02/22(日) 23:23:50 ] luabindも0.8にあがってる。
705 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 23:58:15 ] C++しか知らんからそうなる このイテレータの形は関数型言語やれば自然と判るよ
706 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 01:57:47 ] なんでLua以外の言語人気ないんだろう?
707 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 02:16:24 ] Squirrelの時代が来る! …と信じている……
708 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 08:13:23 ] スクエニが使った実績もあるしな! 俺も今度スクリプト使うときはSquirrelでいくぜ! 何か作る…暇さえあればな…
709 名前:デフォルトの名無しさん [2009/02/23(月) 08:46:39 ] www.ferzkopp.net/~aschiffler/Personal/FunStuff/Pictures/Squirrel.html
710 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 09:32:18 ] luaforge.net/ squirrelforge.com/
711 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 11:36:53 ] というか、普通にPC向け商用ゲームで採用予定なんだが>Squirrel ……って、他に居ないのか。居ないのか!
712 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 12:06:37 ] ここにいるよ
713 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 13:13:11 ] ここにもいるよ。 PSPの案件でもテスト開始してる。スクエニ様々だね。
714 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 14:18:10 ] よかった…。Squirrelが一躍有名になって。 スクエニのFFCCのプログラマーはGJです。
715 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 17:25:16 ] DQ9はSquirrel採用?
716 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 17:55:06 ] もし知っている人が居ても絶対教えてくれないと思いますよ
717 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 18:14:38 ] いや、9は無理でしょ。DSだよ? メモリ4Mくらいじゃなかったか?
718 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 21:57:49 ] >>713 スクエニでPSP・・・・・パラsうわ何をするやめ(ry
719 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 22:15:59 ] おいおいwネタなのか本当なのか知らんが笑ってしまったw 自分も案件提案して採択されそうだ。というわけでSquirrelは水面下で絶賛展開中だ
720 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 23:50:06 ] ∩_ 〈〈〈 ヽ 〈⊃ } ∩___∩ | | | ノ ヽ ! ! / ● ● | / | ( _●_) ミ/ 勝手に使えばいいだろw 彡、 |∪| / 日本人が発音できない言語lolololololol / __ ヽノ / (___)
721 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 00:03:49 ] ロリロリロリロリ
722 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 00:34:12 ] Luaにはクマが居るのに、SquirrelにはAAすらない。可哀相
723 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 00:39:56 ] Xtal のインタプリンタとかデバッガーとかIDEとかってまだない系?
724 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 01:16:53 ] >>723 以前(半年ぐらい前)ちょっと調べてたけど見つからなかったよ。 Xtalの中の人はかなりがんばっていると思うんだけど、いかんせん外野からの支援が無いよね。
725 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 01:17:30 ] あれは何処の国の人が盛り上げるんだろうね
726 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 01:34:28 ] Xtalは応援してやりたいが、sourceにほとんどコメントが無くて読めなかった。C++コーディングここに極まりって感じ。 言語仕様も定まってきているわけだし、ここいらで一旦仕様拡張を止めて、 導入方法について詳しく記述し、間口を広くすれば流行りそうな予感はしている。 欲を言えば作者自ら本出してほしい。そんな暇無いだろうけど。
727 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 01:38:50 ] >>722 クマなんぞただの目障り。
728 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 01:41:11 ] // / / パカッ //⌒)∩__∩ /.| .| ノ ヽ / | | ● ● | / | 彡 ( _●_) ミ AngelScript!! / | ヽ |∪| /_ // │ ヽノ \/ " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
729 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 01:42:06 ] >>726 Squirrelより実行速度速いしな。おまけに使いやすいC++バインダも内蔵ときた。 ちょっと構文が変な感じするけど、 オープン界のPHPとRubyみたいな関係で、 互いに刺激を受けてcoolな発展してくれることを望むぜ。
730 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 01:43:59 ] 実行速度は後からなんとかなるけど 構文が変なのは致命的だなあ
731 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 01:51:08 ] 他のスクリプト言語とほぼ相互置換できるのなら無問題なんだけど、実際のところどうなんだろ? Xtalを触りだけじゃなく、実際に使ってる人って居ないんかいねぇ?
732 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 01:51:13 ] Luaの本は結構出てるんだけど Squirrelの本って洋書でもまだ出てない?
733 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 01:57:42 ] GDC2008 FFCCのSquirrel採用の件 game.watch.impress.co.jp/docs/20080224/ffcc.htm たった1行だけ。
734 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 02:07:27 ] 洋書でもいいからSquirrel本ほしいよな まとまって目ぼしい情報があるのが公式wikiぐらいだ
735 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 09:48:36 ] SquirrelはAngelScriptよりはまだマシじゃないか。 AngelScript使ってるのは日本で自分含めて数名しかいないんじゃないかとすら思える。
736 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 10:14:14 ] スクエニがFFCCで色々やった結果をSquirrel公式に提供してくれればなぁ
737 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 10:18:45 ] >>735 詳しく調べたわけではないが、C++の制約をそのまま受けてしまう仕様ではなぁ……。
738 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 11:14:45 ] >>700 > PowerShellはどうよ? UNICODE文字だけなので普段使いにはムリがあった
739 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 14:48:35 ] >>736 んだな。SquirrelにLuaにあるような動的リロードをどう実装したのかが知りたい。 おそらくdelegateじゃないんだよな。
740 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 16:56:00 ] >731 ノシ使ってるよ
741 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 18:44:09 ] せめてインタプリンタやデバッガやIDEがあればなあ・・・>Xtal Pythonからの移行を考えてる今日この頃 LuaやSquirrelも考慮してみるか・・・
742 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 20:41:59 ] >>741 Python止めようと思ってる理由は?
743 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 21:01:21 ] 止める気はないよ、機能も手軽さも文句ないし ただちょっと飽きてきたとかそんな理由
744 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 21:50:51 ] あーしいて言うなら処理速度だな あと、ゲームを作る用に作った言語ってのも まだ、完成してないし詳しく知らんwスマソ
745 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 04:30:52 ] >>739 どうなんだろねー。delegate はあまり凝ったことできないし、ユーザデータかテーブルでしか 使えないので別の方法だろうとは思う。 思いついた方法その1 メタメソッドを使ってプロトタイプもどきを実装 ・「クラス名」は文字列で保持しておく ・_get/_set のメタメソッドを使って、「クラスのメソッドテーブル」を毎回「クラス名」を使って 引いてきてメソッドはそこから引き出して使うようにする ・「クラスのメソッドテーブル」の中身を書き換えると、同種のオブジェクトのメソッドを一斉にさしかえたことになる 思いついた方法その2 弱参照でインスタンスを全部おぼえておく ・クラスはメソッドを別のテーブルとして持つ(クラスは一度インスタンス化すると書き換えできないため) ・コンストラクタでそのメソッドテーブルの内容をインスタンスに自力でコピーする ・クラスはインスタンスリストも持つ。コンストラクタでインスタンスの弱参照をリストに追加する ・メソッドを書き換えるときは、新規オブジェクト用にメソッドテーブルの中身を置き換えると同時に、 インスタンスリストに登録されてる全インスタンスの該当メソッドも置き換えてしまう ・インスタンスリストは適当なタイミングで掃除 こんなとこじゃないかなー
746 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 08:54:06 ] >>706 Luaがユーザー多くなった→情報を増える→ユーザー増える→(以下繰り返し) 日本でユーザー増やすなら、>>708 みたいな実績増やして、 スクエニが導入の手引きみたいなリソースを公開してくれたら 祭りになるかもしれんが(公開は)多分ない やっぱり情報を一杯出さないとな
747 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 09:39:42 ] Squirrelを動的リロードできるようにソース改造したとか。 zlib/libpngライセンスだから問題ないだろうし。 他のスクリプトのShiftJIS対応版みたいな感じで。
748 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 09:49:42 ] Squirrelの動的リロードは、ソースファイルを読み直すだけでそのままできるんだが? ファーストクラスオブジェクトというのはそういうものだ。 シリアライズ・デシリアライズ機構を用意するだけ。
749 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 09:50:54 ] nn _ γ・ ̄\ γΞミvヽ _r・ ( r-、i (゚Д゚) ヽノ (ノ ミ) ミ Squirrel!! ヾ_(つノノつ
750 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 10:38:57 ] >>748 「ソースファイルを読み直すだけ」じゃないじゃん
751 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 14:43:12 ] BSDやMIT等の重要な部分に記載しろというのが嫌い でもzlib系は書かなくてもいいのに記載します なのでSquirrel使い
752 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 14:57:07 ] >ソフトウェアのすべての複製または重要な部分に記載するものとします。 MITのこれって、全体もしくは部分的な複製に記載しろという意味じゃなかったっけ?
753 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 15:09:09 ] >>750 シリアライズ機構を、インスタンスの再構築を行うソースファイルを生成するように設計すればいい。 フォーラムに例が挙がってる。
754 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 16:03:26 ] Xtalはよさげなんだが食指が動かんな。何故だろう?個人がせっせとやってるからかなー。 2月24日の日記によるとよりC++らしい記法が出来るようになるみたいだが、 やっぱりC++チックな記法が世の中的には好まれるんだろうか?
755 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 16:06:48 ] おそらくね。 endはメンドクサイんで嫌いだ
756 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 16:17:04 ] 元々xtalはC++ライクな軽量言語ってのをウリにしてるからな
757 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 17:32:44 ] zlibライセンスでC++チックな記法といえばAngelScriptだな。 MITならCINTってのもあるが。
758 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 17:39:51 ] ちょっとしたゲーム製作にSquirrelを使いたかったが、挫折した。 日曜プログラマには無理だった。 もっと勉強してからにします。
759 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 17:56:28 ] Squirrel内の関数をCから呼び出すときに可変長引数で引き渡したいが、上手くいかないです。 bool CallSquirrelFunction(const TCHAR* pFuncName, ...) { SQInteger top = sq_gettop(m_vm); sq_pushroottable(m_vm); sq_pushstring(m_vm,pFuncName,-1); if(SQ_SUCCEEDED(sq_get(m_vm,-2))) { sq_pushroottable(m_vm); int nArgCount = 1; //TODO ここに可変長引数でsq_pushしたい(integer,float,string) sq_call(m_vm,nArgCount,false,false); sq_settop(m_vm,top); return true; } sq_settop(m_vm,top); return false; } va_***系マクロ使えば行けるかなと思ったが、無理なのかな。 "%d%f%s"のような型指定リストを渡すのはスマートじゃないけど、これ以外に方法は無いのかな……。 あんまりSquirrelと関係なくてすいません。助言をください。
760 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 18:07:11 ] >>759 わかってるんじゃん。Cは言語仕様的に引数の型情報を取得する手段がないので、 型指定情報をなんらかの形で渡すか、全部 Variant な型を使うようにするかのどちらかしか無理。 型指定は別に printf みたく文字列にする必然性はないよ。 func("funcName", TYPE_INT, a, TYPE_FLOAT, b, TYPE_STR, c, TYPE_END) とかこんなかんじで順次型情報とあわせて渡すとかでいいんじゃね?
761 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 18:32:27 ] >>760 すばやい返信ありがとうございます。うーん。Cの仕様上どうしようもないんですね。 型情報も合わせて引数に送ることで、対処しようと思います。 ありがとうござました。
762 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 21:07:44 ] ま、そもそもC言語で今更、自前の可変長引数関数を (ログ出力等以外の目的で)で整備する利点は薄いので、 正直に他の方法による実装を考えた方がいいと思うけどな。
763 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 21:28:52 ] C++にしてboost::tupleとか使えばうまく書けるかもしれない
764 名前:デフォルトの名無しさん [2009/02/26(木) 09:55:45 ] C++だと、boost::functionみたいに、 template<typename _tR,>sq_function0(HSQUIRRELVM &vm); template<typename _tR,typename _t0> sq_function1(HSQUIRRELVM &vm,_t0 t0); template<typename _tR,typename _t0,typename _t1> sq_function2(HSQUIRRELVM &vm,_t0 t0,_t1 t1); template<typename _tR,typename _t0,typename _t1,typename _t2> sq_function3(HSQUIRRELVM &vm,_t0 t0,_t1 t1,_t2 t2); … といった感じで、引数の個数にあわせたtemplateファンクタを用意して、これらをsq_functionというtemplateに置き換える仕組み用意したらいいんじゃね? そういう仕組みの具体的な実装はboost::function参照。 Squirrelじゃないけど、自分はこういうtemplate用意してスクリプト内の関数呼び出す仕組み用意した。 結構便利。
765 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 22:53:47 ] Squirrel3.0の安定版っていつ出るのさ
766 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 23:02:24 ] >>765 そもそも3.0というほどの変更箇所があるように見えないんだが、 ずっと黙って2.2.2-stableを使ってるな。
767 名前:デフォルトの名無しさん [2009/03/01(日) 18:51:08 ] 剰余の計算をするとエラーが出るのですが、どうしてでしょうか? x = 10 y = 3 print("余りは" .. x % y .. "です") これを実行すると、 stdin:1: `)' expected near `%' と表示されてしまいます。
768 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 19:03:51 ] 何語で書いてるのか書け。まずはそれからだ。
769 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 19:08:52 ] 演算子の優先順位の問題じゃね?
770 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 19:21:57 ] Lua5.1.4で再現無いことだけ確認したw
771 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 19:33:50 ] Lua使ってないからしらんが、 括弧付ければ無問題だと予想
772 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 22:16:06 ] >>767 使ってるLuaが5.0系(%演算子が無い)なんだろう。 5.1にするか、math.modを使うかしろ。 ただしmath.modと%演算子は、負数のときの挙動が違うので注意。
773 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 08:05:29 ] ∩_ 〈〈〈 ヽ 〈⊃ } ∩___∩ | | | ノ ヽ ! ! / ● ● | / | ( _●_) ミ/ Lua!! 彡、 |∪| / / __ ヽノ / (___)
774 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 18:06:00 ] ∩_ 〈〈〈 ヽ 〈⊃ } ∩___∩ | | | ノ ヽ ! ! / <●> <●>| / | ( _●_) ミ/ Lua? 彡、 |∪| / / __ ヽノ / (___)
775 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 21:35:40 ] いいえKumaです。
776 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 22:31:36 ] Luaってもしかして、++iとか--iとかない?
777 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 22:51:12 ] 忘れたけど、基本floatだからないんじゃないの?
778 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 23:16:53 ] -- はコメントだしなあ
779 名前:デフォルトの名無しさん mailto:sage [2009/03/05(木) 00:17:05 ] >>777 ,778 ないのか、残念 レスありがとう
780 名前:デフォルトの名無しさん mailto:sage [2009/03/05(木) 21:09:28 ] i += 1 もないお
781 名前:デフォルトの名無しさん mailto:sage [2009/03/05(木) 21:18:53 ] //は何なの
782 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 01:20:44 ] >>781 「**」がべき乗として使われる言語がたまにあるけど、 // はその除算版。 つまり、a // b = a ** -b = pow(a, -b)
783 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 08:14:31 ] 冪根ことか累乗根とかだっけ
784 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 14:01:59 ] & と && の関係みたいなもんか
785 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 20:35:46 ] 全然違わないか? それ
786 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 21:46:34 ] いや、=と==みたいなもんだろ
787 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 22:34:53 ] *hoge と**hogeよりは違わないだろう
788 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 10:43:16 ] ∩_ 〈〈〈 ヽ 〈⊃ } ∩___∩ | | | ノ ヽ ! ! / ● ● | / | ( _●_) ミ/ Lua!! 彡、 |∪| / / __ ヽノ / (___)
789 名前:デフォルトの名無しさん mailto:sage [2009/03/09(月) 23:40:40 ] Squirrelでルートテーブルに対しての、定数のバインドってどうやってやるか分かりますか? sq_pushroottable(m_vm); sq_pushstring(m_vm,"CONST_VALUE",-1); sq_pushinteger(m_vm,255); sq_newslot(m_vm,-3,true); sq_pop(m_vm, 1); これでもCONST_VALUE=255となりますが、定数ではなく変数(書き換え可能)なんですよね……。 スクリプト記述で言うところの、 const CONST_VALUE = 255; となるよううなコーディングを実装したいです。 やっぱ、定数はコンパイル時決定だから無理なのかな?
790 名前:デフォルトの名無しさん mailto:sage [2009/03/09(月) 23:56:03 ] 自己解決しました。 sq_pushconsttableとsq_setconsttableで上手くいきました。 仕様に目を通してないことが丸分かりで恥ずかしい……。 これでやっと ・定数・変数・クラスのバインド ・C++⇒Squirrel関数の呼び出し ・Squirrel⇒C++関数の呼び出し まで完成しました。 あとは、デバッガと動的リロードだ。先が長いぞ。
791 名前:デフォルトの名無しさん mailto:sage [2009/03/10(火) 10:35:48 ] ∧_∧ / ̄ ̄ ̄ ̄ ( ・∀・) < Lua!! ⊂/ 9) \____ q( / > >
792 名前:デフォルトの名無しさん mailto:sage [2009/03/10(火) 13:37:15 ] >>782 Lua だとそーいう演算子ないみたいだけど、それってどの言語で使えるの? c++系統だとコメントだし、Python3.0とかだと余りを切り捨てる除算に使うしあんまり一般的じゃない気がする
793 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 01:20:20 ] // でググってみれば? 俺はどうでもいいからやらないけど。
794 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 01:46:26 ] >>793 あほか、ぐぐってみろw
795 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 02:59:28 ] double slash operator
796 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 09:03:27 ] 組み込み言語Pawn The Pawn language www.compuphase.com/pawn/pawn.htm Pythonバインディングあった。(組み込みにも使うPythonから使う利点は不明w) craftware pypawn 1.05 hp.vector.co.jp/authors/VA012411/pypawn/doc/
797 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 09:04:01 ] >>793-794 だめぽ。見つかりませんでした // - Google 検索 www.google.com/search?hl=ja&safe=off&num=50&q=%2F%2F&btnG=%E6%A4%9C%E7%B4%A2&lr=
798 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 09:13:14 ] LuaInterface 2.0.3 code.google.com/p/luainterface/ Luaから.NETの機能を使ったり、.NETな言語からLuaを利用したりできるやつ。 LuaInterface Debugger code.google.com/p/luainterface-debugger/ ステップ実行とかできるLuaのデバッガ。非GUI
799 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 10:59:05 ] >>798 これ何がやりたいのかわからん Luaはネーティブなんだから、只のラッパーに徹するか、 既存のLuaでも使える、.NETをラップしたモジュールにしてくれれば良かったのに 自分はC++/CLIに馴染みが無いから、只のラッパーを自作する参考に コードを読む程度の利用しかしてね
800 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 11:26:37 ] は?
801 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 15:46:24 ] ひ?
802 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 21:45:18 ] る
803 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 21:54:28 ] の
804 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 21:57:40 ] 憂
805 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 22:01:58 ] ハルビンの親戚か?
806 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 00:19:44 ] ∩_ 〈〈〈 ヽ 〈⊃ } ∩___∩ | | | ノ ヽ ! ! / ● ● | / | ( _●_) ミ/ Lua!! 彡、 |∪| / / __ ヽノ / (___)
807 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 10:34:54 ] ちょw
808 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 11:09:28 ] る
809 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 13:16:17 ] 次スレはいらないな・・
810 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 16:32:12 ] ∧_∧ / ̄ ̄ ̄ ̄ ( ・∀・) < Lua!! ⊂/ 9) \____ q( / > >
811 名前:デフォルトの名無しさん mailto:sage [2009/03/16(月) 11:37:16 ] >>800-806 AVで本当にあって吹いた TMA 涼宮ハヒルの憂鬱 レビュー | 丁dai Blog tyodai.blog47.fc2.com/blog-entry-65.html
812 名前:デフォルトの名無しさん mailto:sage [2009/03/16(月) 12:59:07 ] そりゃ、あるから書いてるんだろう
813 名前:デフォルトの名無しさん mailto:sage [2009/03/16(月) 20:05:17 ] Luaを実装したプログラムのソースコードください。
814 名前:デフォルトの名無しさん mailto:sage [2009/03/16(月) 20:12:32 ] >>813 ttp://www.lua.org/ftp/
815 名前:デフォルトの名無しさん mailto:sage [2009/03/18(水) 08:32:52 ] 乳揉みてぇ
816 名前:デフォルトの名無しさん mailto:sage [2009/03/19(木) 01:43:27 ] >>815 ttp://www.milknosato.com/enjoy/cowy.php
817 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 12:59:13 ] LuaのテーブルをXMLに保存する homepage3.nifty.com/akaho/program/lua/xml.html 見つけたので、貼っとく。
818 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 17:09:25 ] じゃあ俺はSquirrelのテーブルをJSONに保存する
819 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 18:09:36 ] YAMLじゃなくて?
820 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 06:14:06 ] S式で
821 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 17:56:26 ] 根性です
822 名前:デフォルトの名無しさん mailto:sage [2009/03/23(月) 22:38:00 ] ttp://haxe.org/ NekoVM 用として使えば組み込み系もいけるかも? でも Nekoランタイムは LGPLかー
823 名前:デフォルトの名無しさん mailto:sage [2009/03/24(火) 17:56:07 ] haxeでlua出せないかなぁ
824 名前:デフォルトの名無しさん mailto:sage [2009/03/28(土) 15:37:52 ] NekoVM LGPLが痛い
825 名前:デフォルトの名無しさん mailto:sage [2009/03/29(日) 07:59:07 ] 他の言語処理系にコンパイルしてから使うという割り切った仕様が興味深いな。 同じような仕様のコンパイラは今まで何回か書いてきたが、 このようにたくさんのライブラリが公開されるというのはさすがオープンソースだな、と思う。
826 名前:デフォルトの名無しさん mailto:sage [2009/03/29(日) 11:18:30 ] >>824 L付きだからいいじゃん
827 名前:デフォルトの名無しさん mailto:sage [2009/03/29(日) 12:11:16 ] このスレ的にはかなり痛いだろw LだろうがGPL系は
828 名前:デフォルトの名無しさん mailto:sageee [2009/03/29(日) 12:16:15 ] LGPLならライセンスは問題せずに 目的に合った方、実績のある方選ぶ。 GPLは社内ルール上駄目。
829 名前:デフォルトの名無しさん mailto:sage [2009/03/29(日) 12:26:55 ] PCで使うならLGPLで全然問題ないんだけどねぇ
830 名前:デフォルトの名無しさん mailto:sage [2009/03/29(日) 12:36:49 ] PCで使う・・・?
831 名前:デフォルトの名無しさん mailto:sage [2009/03/29(日) 12:46:02 ] 趣味のプログラマーでも、実装の下手さの為に バックドア的な穴を開けたようなソースを公開したくないな ライブラリに変更を要する時に格好いい理由とかないだろ
832 名前:デフォルトの名無しさん mailto:sage [2009/03/29(日) 13:26:55 ] PCでもLGPLは面倒
833 名前:デフォルトの名無しさん mailto:sage [2009/03/29(日) 13:33:57 ] >>831 LGPLなら公開しなくていいじゃん
834 名前:デフォルトの名無しさん mailto:sage [2009/03/29(日) 15:12:21 ] >>831 は公開しなきゃいけない場合、ライブラリその物を変更した時の話だよ
835 名前:デフォルトの名無しさん mailto:sage [2009/03/29(日) 15:15:22 ] 修正BSDとかMITならなあ・・・・
836 名前:デフォルトの名無しさん mailto:sage [2009/03/29(日) 15:21:39 ] >>834 うまくライブラリと分離すりゃいいだけでしょ?
837 名前:デフォルトの名無しさん mailto:sage [2009/03/29(日) 15:44:09 ] 自分のプログラムと静的リンクした場合は、全体を公開しないといけない。 wikipediaを読めば大雑把だが把握できる。
838 名前:デフォルトの名無しさん mailto:sage [2009/03/29(日) 17:19:27 ] 会話も危うい奴が自分は何でも出来る様な事を書くとか 春だな
839 名前:デフォルトの名無しさん mailto:sage [2009/03/29(日) 17:20:22 ] LGPLだとパッカー系(アーカイブ形式で配布するタイプ)、コンシューマ系が封じられるんだよな。 結構痛い。
840 名前:デフォルトの名無しさん mailto:sage [2009/03/29(日) 17:25:45 ] >>839 パッカー系ってzipやlzh?それともexe?
841 名前:デフォルトの名無しさん mailto:sage [2009/03/29(日) 20:30:38 ] ∩_ 〈〈〈 ヽ 〈⊃ } ∩___∩ | | | ノ ヽ ! ! / ○ ○ | / | ( _●_) ミ/ <…… 彡、 |∪| / / __ ヽノ / (___)
842 名前:デフォルトの名無しさん mailto:sage [2009/03/29(日) 20:33:48 ] zip同梱でソース開示義務が及ぶなんて聞いたことないな。
843 名前:デフォルトの名無しさん mailto:sage [2009/03/30(月) 07:38:40 ] ∧_∧ / ̄ ̄ ̄ ̄ ( ・∀・) < Lua!! ⊂/ 9) \____ q( / > >
844 名前:デフォルトの名無しさん mailto:sage [2009/03/30(月) 09:25:06 ] 俺もGPLもLGPLも敬遠してるわ。LGPLは839の理由で。
845 名前:デフォルトの名無しさん mailto:sage [2009/03/30(月) 09:33:45 ] だからなんで? 同梱するだけのものにはソース開示は及ばないのに。
846 名前:デフォルトの名無しさん mailto:sage [2009/03/30(月) 09:37:51 ] LGPLライセンスで配布されたライブラリAについて、 * ライブラリAにリンクしたプログラムBを配布する場合、Bのライセンスにリバースエンジニアリングを禁止する条項を含めてはならない。(LGPLv2-6、LGPLv3-4) * ライブラリAに静的リンクしたプログラムBを配布する場合、Bのソースコードまたはオブジェクトコードの配布を拒否してはならない。(LGPLv2-6a、LGPLv3-4d0) * ライブラリAを改変して作成されたライブラリA'を配布する場合、A'のライセンスはLGPLまたはGPLである必要がある。
847 名前:デフォルトの名無しさん mailto:sage [2009/03/30(月) 13:43:43 ] Lがついてようとやっぱり汚染は免れないんだな
848 名前:デフォルトの名無しさん mailto:sage [2009/03/30(月) 20:01:34 ] ほんとGPLはゴミだな
849 名前:デフォルトの名無しさん mailto:sage [2009/03/30(月) 20:16:53 ] ようは静的リンク=直接実行できるexeにしなけりゃいいっとこか。 じゃあパッカー系は大丈夫だな。ほっとした。 .jarも.airも影響受けず大丈夫なのね…
850 名前:デフォルトの名無しさん mailto:sage [2009/03/30(月) 20:18:09 ] exeでも、rubyscript2exeとか中身は実質パッカー系だから大丈夫だよな?
851 名前:デフォルトの名無しさん mailto:sage [2009/03/30(月) 20:22:32 ] 俺なら黒に近いグレーと判断する>>850 要するに「入手した人がライブラリだけさしかえて再構築できるか」 がライセンスの想定なので、一般的にばらす手段が認知されて ないようなものは基本的にダメだと思う
852 名前:デフォルトの名無しさん mailto:sage [2009/03/30(月) 20:26:10 ] そうしたら、.jar .airはバラせるからOKで、rubyscript2exeは駄目ぽだな
853 名前:デフォルトの名無しさん mailto:sage [2009/03/30(月) 21:34:29 ] >* ライブラリAにリンクしたプログラムBを配布する場合、Bのライセンスにリバースエンジニアリングを禁止する条項を含めてはならない。(LGPLv2-6、LGPLv3-4) コンシューマだとサードパーティライセンスの関係でこれをクリアできないってことか
854 名前:デフォルトの名無しさん mailto:sage [2009/03/30(月) 23:48:29 ] ライセンスネタは大抵荒れてスレを浪費してしまうからそろそろ次スレの話も。 >4はXtal以外全く話がないからXtal関係を>3に移して4を削除してよくね? このスレでは幸いにして問題にならなかったけど>10-12も配慮お願い。 関連スレの中で移行済のもの。 LLスレは流れが速いからスレ立て時に確認お願い。 「コンパイラ・スクリプトエンジン」相談室13 pc12.2ch.net/test/read.cgi/tech/1233143342/
855 名前:デフォルトの名無しさん mailto:sage [2009/03/31(火) 07:20:26 ] ∩_ 〈〈〈 ヽ 〈⊃ } ∩___∩ | | | ノ ヽ ! ! / ● ● | / | ( _●_) ミ/ Lua!! 彡、 |∪| / / __ ヽノ / (___)
856 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 08:35:50 ] \ l´⌒\⌒\ \\ \ \ ヽ ) ) \\ \\ ( \ \∩___∩ \\ \ \ ⌒⌒| ノ ヽ \\ \ \ / ● ● ト、\ \\\ \ Y | ( _●_) ミ\ \\\ \ / 彡、_ |∪| ノ \ \\\ (____)―ヽノ' ヽ  ̄ ̄ ヽ\\ \, j l l .l } Lua! l (_ノノノノ
857 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 08:41:41 ] ∩_ 〈〈〈 ヽ 〈⊃ } ∩___∩ | | | ノ ヽ ! ! / ● ● | / | ( _●_) ミ/ Luaまピョーん☆ 彡、 |∪| / / __ ヽノ / (___)
858 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 16:22:42 ] IGDA Japan chapter - ニュース www.igda.jp/modules/news/article.php?storyid=1622 13:10 - 14:00 「ごく簡単な並列処理スクリプトシステムの設計と実装」 □講師 小久保啓三(HAL東京) (株)スクウェアでの代表作「ロマンシング・サガ」「FF5」「クロノトリガー」「FF7」。クロノトリガーとFF7では、スクリプトシステムの設計と実装に携わる。 14:00 - 14:50 「『サクラ大戦X』でのスクリプト運用事例」 □講師 秋葉晴樹(セガ) 株式会社セガ 第三CS研究開発部 リードプログラマ。 代表作は、サクラ大戦シリーズ、のび太の新魔界大冒険、ブレイザードライブ。 サクラ大戦シリーズは3から参加、主にADVパートのプログラムを担当。 15:20 - 16:10 「汎用スクリプト言語Xtal 設計と実装」 □講師 石橋立宣(バンダイナムコゲームス) NBGI プログラマ。 PSP塊魂のエンディングミニゲームやシステム周り担当。 PSP太鼓のADV部分やシステム周り担当。 趣味で、C++組み込み用スクリプト「Xtal」を開発。 16:10 - 17:00 「Squirrelスクリプトを使った実装と活用」 □講師 神尾隆司(スクウェア・エニックス) Wiiウェア 小さな王様と約束の国 ファイナルファンタジー・クリスタルクロニクル の開発に関わる。 北出智(スクウェア・エニックス) PS2 聖剣伝説4、Wiiウェア 小さな王様と約束の国 ファイナルファンタジー・クリスタルクロニクル 等の開発に関わる。
859 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 17:13:42 ] // / / パカッ //⌒)∩__∩ /.| .| ノ ヽ / | | ● ● | / | 彡 ( _●_) ミ Lua!! / | ヽ |∪| /_ // │ ヽノ \/ " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
860 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 17:16:30 ] // / / パカッ //⌒)∩__∩ /.| .| ノ ヽ / | | ● ● | / | 彡 ( _●_) ミ Luaまピョーん☆ / | ヽ |∪| /_ // │ ヽノ \/ " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
861 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 20:33:21 ] そうか。Xtalの作者は現役のゲームプログラマだったのか。 仕様、ソースのできもなかなかいいし、 今後日本ではやって行く可能性もあるなぁ……。
862 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 20:40:29 ] schemeが流行るよりは可能性高いと思う
863 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 20:47:29 ] 誰が流行らすのかという問題がな……。 LuaとSquirrelの2強を打破してくれることを祈る。
864 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 21:05:22 ] >>851 > 要するに「入手した人がライブラリだけさしかえて再構築できるか」 > がライセンスの想定なので、 都合のいい風に読み替えるなよw
865 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 21:12:56 ] >>863 Squirrelは2強というほど普及もしてないぞ。 いろいろ話聞いた感じでは、Luaが圧倒的に強くてPAWN、Squirrel、StacklessPythonがポストLuaな感じ。 XtalやCRIScriptはまだ産声あげたぐらいだしなぁ・・・もう数年必要かな。
866 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 22:24:28 ] Xtalタンには頑張って欲しいね 俺では有効活用できないんだけどね…
867 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 23:41:09 ] >>864 どのへんが間違えてるか解説きぼん ソース公開 / リンク用OBJの公開 / ダイナミックリンク から選べる、 ってのは平たくいえばそういうことだという認識なんだが。
868 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 23:51:54 ] >>865 スレ違い。 『GPL/LGPL等ライセンスとゲーム製作_2』 pc11.2ch.net/test/read.cgi/gamedev/1036512390/
869 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 23:53:27 ] 865 -> 867 ね。スマン。
870 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 17:58:59 ] LuaInterfaceって使っている人あまりいないのかな?
871 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 18:33:33 ] これから使おうと調べてるところだ
872 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 09:40:18 ] SexlessPythonのゲームの組み込み向け解説ってどこかにない?
873 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 09:41:46 ] ごめん、オナ禁してたから間違えた Stackless Pythonね
874 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 12:40:48 ] ちょセックスレスってw
875 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 12:46:55 ] >>873 GameDeveloperの2009年2月号にちょっと特集されてるよ
876 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 16:31:11 ] >>875 おお、これか。ちょっくら読んでみるぜ > Snakes on a Seamless Living World > By David Hawes > As a scripting language, Stackless Python is meant to serve the needs of > multi-threaded environments, namely each of the current gen home consoles > and PCs. Here, author David Hawes details how to get the language working > in-engine on consoles. Game Developer Magazine www.gdmag.com/archive/feb09.htm
877 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 18:18:08 ] \ l´⌒\⌒\ \\ \ \ ヽ ) ) \\ \\ ( \ \∩___∩ \\ \ \ ⌒⌒| ノ ヽ \\ \ \ / ● ● ト、\ \\\ \ Y | ( _●_) ミ\ \\\ \ / 彡、_ |∪| ノ \ \\\ (____)―ヽノ' ヽ  ̄ ̄ ヽ\\ \, j l l .l } Lua! l (_ノノノノ
878 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 18:29:28 ] OBAMA思ったより強気だw
879 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 18:30:50 ] すまん誤爆した
880 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 14:34:48 ] SIG-GTでのCriScriptの講演資料(2009年1月17日)がおいてあった www.cri-mw.co.jp/event/2009/sig-gt-12.html
881 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 09:21:56 ] >>865 俺の大好きなAngelScriptはダメですかそうですか。
882 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 10:22:16 ] これってgta4のアレ?
883 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 16:04:28 ] >>881 いや、悪くはないと思うよ。 ただ情報が本当に少ないので、布教も兼ねてCEDECとかもっと小さいセミナーでもなんでも講演してくれる人がいると、 使い手も増える思うんだよなぁ・・・ そういった草の根的な活動を担ってくれる人がいないと組み込みスクリプトはなかなか盛り上がらないと思う。
884 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 01:46:45 ] Xtalは作ってる人が飽きてきてるかんじなんだよな
885 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 07:42:04 ] ∧_∧ / ̄ ̄ ̄ ̄ ( ・∀・) < Lua!! ⊂/ 9) \____ q( / > >
886 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 14:22:19 ] RubyとかJavaじゃないけど、10年は開発続ける気じゃないと広まらないよ。 Luaは言語仕様がどうとか言われているけど、よく続けたナーって幹事。
887 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 05:31:36 ] // / / パカッ //⌒)∩__∩ /.| .| ノ ヽ / | | ● ● | / | 彡 ( _●_) ミ Lua!! / | ヽ |∪| /_ // │ ヽノ \/ " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
888 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 07:48:17 ] >>886 たしかに言語ってだいたい10年ぐらいしてから普及しはじめるからなー javaもいじってた頃はまだまだ普及しそうになかったし
889 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 09:56:11 ] Javaは登場当初から流行る雰囲気に満ち満ちてましたよ。
890 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 10:01:26 ] Javaは、その当時使ってた環境がSolarisかWindowsかLinuxかで、 印象がだいぶ違うと思う。
891 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 10:54:49 ] それは関係ないんじゃないかな。
892 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 11:05:46 ] 当時使ってた環境が98か286かで、印象がだいぶ違うと思う
893 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 11:07:58 ] Javaはアップレットをプッシュしていた頃は正直ただのオモチャに見えたな が、流行るのに10年はかかってないっしょ
894 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 11:17:15 ] あの薄い灰色の背景がなんかダサかった
895 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 11:55:55 ] 昔はオモチャに見えたといえばJavaScriptの方だろ。
896 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 13:54:14 ] Windowsだったからか、JavaもFlashもwebで重いサイトに使われているくらいにしか思ってなくて (WindowsでJava=Java appletの時代w) こんなの流行るわけないだろ!と思ってたら、このありさまだよ! まあ、Windowsでは今でもJavaは、金融関係(証券会社とかトレード関係とか)しかみない気がするけどさ
897 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 21:49:47 ] 昔:Javaって(動作が)重いよな 今:Javaって(言語仕様が)重いよな
898 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 22:02:59 ] 言語仕様はそんなに膨れてないだろ。 もしかしてGenericsに挫折しちゃった人?
899 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 22:44:23 ] >>896 どんだけ見る目ないんだw
900 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 16:29:46 ] Java Applicationは携帯ゲームで花開いたな。今は使い物にならないJavaFXもそのうち化けるかな?
901 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 02:30:32 ] どちらかっちゅうと、考えるべきはAIRやAndroidじゃね? まあ、そろそろスレ違いかもしれんが。
902 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 06:25:14 ] 翻訳 - Python製のソーシャルブックマークエンジンRedditはなぜLispをやめてPythonを使うようになったのか ? TRIVIAL TECHNOLOGIES 2.0 coreblog.org/ats/japanese-translation-why-reddit-uses-python > Pythonを使い続ける最も大きな理由... そうだなあ,大きな理由が2つあるよ。 > ひとつめの理由はライブラリ。Pythonには全部のライブラリがそろっている。 > 僕たちは開発を進めてきた課程で,たくさんの技術や,たくさんのアーキテクチャを学んできた。 > たとえば,僕がコネクションプールについて理解していなかったとしても, > 僕はただ単にライブラリを探してきて使うことができる。それからコネクションプールについて理解して, > 自分たちでライブラリを書けばいい。Webフレームワークについても理解する必要はない。 > 自分たちのフレームワークを作る時が来るまで,他の人が作ったフレームワークを使うだけだ。 > その他の多くの技術を使う前に学ぶ必要はないんだ。 > だってPythonにはほとんど全ての種類のライブラリが備わっているのだから。 > これからも,僕たちはもっと多くの技術を学び続ける。 > そして自分たちの手でライブラリを作る。技術を自分たち流に変えるためにね。 > このような手法を使うことで,自分流に変換する作業をとってもとっても簡単にすることができるんだ。 > > > もうひとつ,僕たちをPythonにつなぎ止めておく理由は,これは最も大きな理由なんだけど, > Pythonのコードが読みやすく書きやすい,ということなんだ。 > たとえば僕たちが新しい技術者を雇うとき。Pythonが書ける技術者を雇うことはまずないわけだけど。 > 僕はただ「ぜんぶPythonで書いてね」と言うだけだ。 > そう言うだけで,彼らの書いたコードを僕は読むことができる。 > これはすごいことなんだけど,僕は部屋越しにコードが良いか悪いかを見分けることができるんだ。 > というのは,良質なPythonのコードはとても明確な構造を持っているから。 > これが僕の仕事をより楽にしてくれるんだ。Pythonのコードはとんでもなく表情豊かで, > とんでもなく読みやすく,そしてとんでもなく書きやすい。 > だから僕は仕事をスムーズに運べるというわけさ。
903 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 06:46:47 ] 便利なツールとしてのスクリプト・・・あるいはWeb用スクリプトとして言語を選択するのと、 組み込み用スクリプトとして言語を選択するのは視点が若干違うと思うな。 もちろん、手馴れた言語でスクリプトが記述できるのであれば大きなプラスポイントだとは思うけど、 実行速度やメモリ使用量、組み込みやすさ、本体とのやりとりの容易さ、デバッガetc... と単独で実行するときとは事情がけっこう変わってくるので、そのスクリプト言語の仕様が素晴らしいからといって、 採用するかどうかは考えどころだったりするね。
904 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 07:26:48 ] Squirrelで基本的な部分に詰まっちゃて、知ってる人いたら教えてもらえませんか? C言語と同じようにnut側にmain関数を書いておいて、それを呼び出すようにしたいんですが if(SQ_SUCCEEDED(sqstd_loadfile(v,filename,SQTrue))) { SQInteger top = sq_gettop(v); sq_pushroottable(v); sq_pushstring(v, _SC("main"), -1); if(SQ_SUCCEEDED(sq_get(v, -2))){ sq_call(v, 1, SQFalse, SQTrue); sq_settop(v, top); } } と書いたんですが、sq_getで失敗してしまいます。 printなどの組み込み関数だと成功するんですが・・。 nut側は function main() { } しか書いてないんですが、nut側の書き方が悪いんでしょうかね?
905 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 08:20:55 ] > そして自分たちの手でライブラリを作る。技術を自分たち流に変えるためにね。
906 名前:902 mailto:sage [2009/04/12(日) 08:59:48 ] 誤爆・・・・まじスマソ
907 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 09:27:52 ] ここはクマスレじゃないぞ
908 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 10:55:13 ] >>902 キニスルナ プログラム作るのに何の言語を使うかは絶対的なものではなく相対的なものでしかないわけで、 日ごろ使わない他の言語の良さを語ってくれるテキストは参考になる。 それが実績のある開発者の言葉ならなおさらのことだ。
909 名前:902 mailto:sage [2009/04/12(日) 10:57:22 ] Pythonは組み込み言語につかわれているし、趣旨の1つにライブラリたくさんある言語いいよねー って話だから、あながちネタフリとしてはスレ違いでもないかw
910 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 13:08:55 ] >>904 sqstd_loadfile はスクリプトをロードしてスタックの先頭にのせるだけ。 その中身の function main() を登録するにはまずそれ自体を sq_call する必要がある。 sqstd_dofile にすれば思い通り動くと思われ。
911 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 14:30:01 ] まあ、同封されたSquirrelインタプリタの挙動を真似することからはじめることだな。
912 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 15:09:46 ] >組み込みやすさ、本体とのやりとりの容易さ この2点に関してはAngelScriptが一番だと思うんだがどうだろう。
913 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 15:13:08 ] COM用のスマートポインタがそのまま使えたのにはびっくりした
914 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 15:25:51 ] >>912 C/C++とイディオム的に同じことしかできないんじゃなぁ。 無名クロージャーとかコルーチンとかのサポートはあるんだろうか。
915 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 15:33:59 ] >>914 コルーチンは言語的にはサポートされておらず、C++側でそれのための仕組み作ってやらないとダメ。 簡単にできるけど。
916 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 17:10:01 ] じゃあ駄目じゃん
917 名前:デフォルトの名無しさん mailto:sage [2009/04/13(月) 23:38:07 ] 本屋で「はじめてのLuaプログラミング」って本見かけたんだけど、全然話題になってないね。 もしかして地雷?
918 名前:デフォルトの名無しさん mailto:sage [2009/04/13(月) 23:48:15 ] ところで914の言うコルーチンは、Luaでいうところの、 ・スクリプト側でcoroutine.createで作るやつ ・C++側でlua_yield呼び出して止めるやつ のどっち指してるんだろう。
919 名前:デフォルトの名無しさん mailto:sage [2009/04/13(月) 23:48:25 ] スクリプト言語による効率的なんたらの方を買って読んだ。 そっちの薄いのは言語仕様を書いてあったな。入門用っぽかった。地雷ではないだろう。
920 名前:デフォルトの名無しさん mailto:sage [2009/04/14(火) 01:55:58 ] 個人的には、 ・はじめてのLuaプログラミング は地雷 ・入門Luaプログラミング は良書 ・スクリプト言語による、効率的ゲーム開発C/C++へのLua組み込み実践 は 地雷ともまでは行かないが、そう受け取れる。 パン食い競争でぶら下げられてるフランスパンって感じ。 一部の実装の例に一貫性がない。しかも大事なところ。 ゲーム作りを謳ってるのに、徐々に作りながらじゃないくて、 「こういう時は、こんな感じでいいでしょう」みたいに書かれていて、 実際に積み重ねてく訳じゃないから使いたい時に使えない。 自分で考えて実装しろって事なんだろうけど、全体的に動かないもの見せられてる感は個人的には困り所。 だけど、Cへ実装の例に関しては一番詳しいのも事実。 入門Luaプログラミングと合わせて使うといい感じに分からない所同士を補ってくれたりするような関係。
921 名前:デフォルトの名無しさん mailto:sage [2009/04/14(火) 03:58:47 ] >>920 >スクリプト言語による そっかなー。動作するゲームのソースコードは入手できるわけだし。 コラムなんかを見てもなかなか参考になることが書いてあるように思える。 動くか動かないかはソースコードを読めばいいわけで、必ずしも本で全体を解説する必要はないんじゃないかしら。 別に作者の回し者ではないが、一通り目を通したものとして。
922 名前:デフォルトの名無しさん mailto:sage [2009/04/14(火) 07:44:16 ] ちと質問 Luaってgotoある? スコープ違うとwhileやifで逃げるのは面倒なんだよな〜 >スクリプト言語による これの不満点はLuaで全部やる必要ないじゃんというところ toluaはクラスのポインタを渡してやってLua側で制御するために使ってて 管理そのものはC側でやった方がいろいろと楽だと思うんだよね 俺は一部のメンバ関数をLuaで書き換えるみたいな使い方してる
923 名前:デフォルトの名無しさん mailto:sage [2009/04/14(火) 09:20:20 ] 調べてすぐに分かることは、人に聞くほうが時間の無駄だと思うんだが。
924 名前:デフォルトの名無しさん mailto:sage [2009/04/14(火) 23:21:45 ] スルー推奨
925 名前:デフォルトの名無しさん mailto:sage [2009/04/20(月) 11:36:10 ] Squirrel on Flash Player ttp://ruriko.denpa.org/200904b.html#2001
926 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 06:04:10 ] >>925 Adobe AlchemyでSquirrelがFlash上でうごくのかー。すげえw
927 名前:デフォルトの名無しさん mailto:sage [2009/04/22(水) 02:45:52 ] ちょっと詳しい人教えて欲しいんだけど Luaを組み込んだコンシューマゲームの製作の際に、 Luaのライセンス(MIT License)ってどういう風に処理したらいいのかな? ソースのどっかにライセンス表記するのでいいのか、 それとも取説とかに明記する必要がある?
928 名前:デフォルトの名無しさん mailto:sage [2009/04/22(水) 02:54:01 ] >>927 ソースだけじゃダメ。取説の類に記載が必要。っていうかライセンス嫁。
929 名前:デフォルトの名無しさん mailto:sage [2009/04/22(水) 06:52:41 ] >>928 ∧__∧ (´・ω・) いやどす ハ∨/^ヽ ノ::[三ノ :.、 i)、_;|*く; ノ |!: ::.".T~ ハ、___| """~""""""~"""~"""~"
930 名前:デフォルトの名無しさん mailto:sage [2009/04/22(水) 08:48:53 ] >>928 ありがとう 調べはしたんだけど、ヘッダにでも書いときゃOKとか 言ってるサイトもあって混乱してたわ
931 名前:デフォルトの名無しさん mailto:sage [2009/04/22(水) 08:54:16 ] >>930 それはソース配布の場合の条件 バイナリ配布時は取説か、あるいは実行ファイルそのものでユーザが参照できる状態にしておく必要がある。
932 名前:デフォルトの名無しさん mailto:sage [2009/04/22(水) 10:40:36 ] バイナリを入手したユーザーが参照できるってのがポイントだよな ユーザーが見られるなら、CD内にreadme.txtでも置いてインストーラーでリンクはっておけばいいのかも試練が、 家庭用なら誰も見ないし(or 見れないし)、鳥説が自然でしょう
933 名前:デフォルトの名無しさん mailto:sage [2009/04/22(水) 10:41:42 ] と書いて、思ったけど、中古だとどうなるん? あとダウンロード販売は。 ・中古は無視 ・ダウンロード販売は、ゲーム内クレジットをつくってそこに記述 って感じでしょうか
934 名前:デフォルトの名無しさん mailto:sage [2009/04/22(水) 20:19:56 ] Xtalがもうすぐ1.0か
935 名前:デフォルトの名無しさん mailto:sage [2009/04/22(水) 22:22:00 ] 洋ゲーとかでタイトルロゴの下にいっぱいコピーライトが羅列してあるじゃん あれみたいにしたら
936 名前:デフォルトの名無しさん mailto:sage [2009/04/22(水) 22:47:51 ] 洋ゲー風にするなら、クレジット表示をメニューの中に入れてしまう手もあるな。 選択するとスタッフロールとかが流れるようにしておく。
937 名前:デフォルトの名無しさん mailto:sage [2009/04/22(水) 23:11:47 ] へーそれいいね
938 名前:デフォルトの名無しさん mailto:sage [2009/04/23(木) 03:14:16 ] それって、取説に載せずにゲーム中に表示してしまうってこと? そんなんでもいいのか
939 名前:デフォルトの名無しさん mailto:sage [2009/04/23(木) 12:14:35 ] ゲーム起動時のデモで、Luaのサイトにある、青い丸に「Lua」って書かれた画像を出すのはOKなんだろうか。
940 名前:デフォルトの名無しさん mailto:sage [2009/04/23(木) 12:27:51 ] ライセンスのページには必須じゃないけどいれてくれるとうれしいな的なかんじでかかれてるね>ロゴ
941 名前:デフォルトの名無しさん mailto:sage [2009/04/24(金) 17:08:17 ] ∧_∧ / ̄ ̄ ̄ ̄ ( ・∀・) < Lua!! ⊂/ 9) \____ q( / > >
942 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 11:17:04 ] 今組み込み言語を制作中で、Cから言語へのインターフェイスを考えてるところなんだけど、 どういうのがいいのか悩んでる。 二つ案があって、ひとつはLuaと同じくスタックを介する方法。 もうひとつは、オブジェクトハンドルを経由してアクセスする方法で、 Handle globalhash, funcobj, symbol; globalhash = getglobal( state ); symbol = intern( state, "globalfunc" ); funcobj = getfield( globalhash, symbol ); arg_pushinteger( funcobj, 10 ); call( funcobj ); handle_drop( funcobj ); handle_drop( symbol ); handle_drop( globalhash ); という感じになる。ちょっと長いけど、グローバルハッシュから特定シンボ ルの値を得るというのはありそうな処理なので、実際には専用のAPIを用意する。 ただこちらのほうはスタックに比べて、 ・ハンドル開放処理を忘れるとメモリリーク ・遅い という問題がある。 前者はスタック操作でも同じ(スタックトップを戻し忘れるのがそれにあたる)だけど、 後者は頻繁に行う処理な分、結構致命的。 ただ後者の方法のほうがスタックの状態を覚えなくてよい分、直感的といえば直感的 なんだよな。 両方用意したほうがいいかな?
943 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 11:31:29 ] とおもったけど関数呼び出しをハンドルに対して行うのは非常に無駄が多いな… やっぱりスタック操作かOTL
944 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 22:13:00 ] ごめん、何がいいたいかサッパリだわw 自前で実装するんだった、luabindとかxtalみたいにバインダがあると直感的で楽だと思うけど。 C++じゃなくて純粋なC言語でインターフェース作りたいの?
945 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 22:47:39 ] >>942 LuaではluaL_refとluaL_unrefでハンドルを使えるよ
946 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 14:25:22 ] >>945 ああ、そういやそうだった。やっぱり両方用意するのが得策か。 Pythonではハンドルしか扱えないようだったから、どうかなーと思ったんだけど。 ありがd
947 名前:デフォルトの名無しさん [2009/05/06(水) 17:02:58 ] Luaって非OOの動的型付言語ですけど、 AWKやBASICと何が違うんですか? なんか、単なる先祖帰りのような・・・ Cとの連携が楽とか、 そういう違いは分かるんですけど。 AWKやBASICを拡張しただけでも代わり映えしないんじゃないですか?
948 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 17:11:36 ] >>947 ttp://www.lua.org/about.html ここに全部書いてあるから読んでこい。納得しなければそれはそれで
949 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 21:01:08 ] >>947 >Luaって非OOの動的型付言語ですけど、 Luaはオブジェクト指向言語として十分な機能は備えてる。 言語のパワーなんて口で説明するよりも実際に触ったほうが理解がはやいと思う。 もし触った上での疑問なら、もうちょっと詳細に違和感を説明したほうがいいんじゃないかな。 自分がLuaを使ってるのは単純明快、 Luaでドメインを書くコスト+C++でその他を書くコスト < C++ですべて書くコスト という不等式が(自分の場合)成り立つから。 お前さんもAWKやBASICがC++より生産性が高いと思ってて、かつそれが組み込み可能 ならば、それを使えばいいんじゃないの?
950 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 23:26:00 ] |Д゚)ジー |Д゚)ノ<AngelScriptもよろしく! |ミサッ
951 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 23:46:11 ] 単なる先祖返りなわけないだろ ちゃんと計算されてる。アングルとか
952 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 00:47:42 ] 最近、Squirrelはポロポロと新しいバインダが出回るな。
953 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 01:49:18 ] >>952 そうなん?みてみたいからポインタよろ
954 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 02:11:32 ] >>953 事件は2ちゃんねるで起こってるんじゃない。公式フォーラムで起こってるんだ!
955 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 03:14:51 ] ttp://squirrel-lang.org/forums/thread/3198.aspx これか。コードが整理されてて sqplus よりはるかにわかりやすいですな getter/setter の実装がちょっとトリッキーなのが要注意なかんじ。
956 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 03:17:58 ] ttp://squirrel-lang.org/forums/thread/3129.aspx すぐ下にもう一つあった^^; なるほどぽろぽろだな
957 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 23:57:59 ] scratイイ!luaから乗り換えようかな
958 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 09:14:24 ] ∩_ 〈〈〈 ヽ 〈⊃ } ∩___∩ | | | ノ ヽ ! ! / ● ● | / | ( _●_) ミ/ Lua!! 彡、 |∪| / / __ ヽノ / (___)
959 名前:デフォルトの名無しさん mailto:sage [2009/05/20(水) 12:32:10 ] lua_tointeger の unsgined int バージョンが欲しいんだけど、 strtoul(lua_tostring(L, -1), NULL, 0) みたいにするしかないの?
960 名前:デフォルトの名無しさん mailto:sage [2009/05/20(水) 12:36:11 ] (unsigned int)lua_tonumber(L,-1) じゃだめなん?
961 名前:デフォルトの名無しさん mailto:sage [2009/05/20(水) 17:20:34 ] C/C++とバインドするときの話なら別の論となるが、 スクリプト上のプログラミングならunsigned整数など考えないで済むコードを書いた方が楽だぞ。
962 名前:デフォルトの名無しさん mailto:sage [2009/05/20(水) 21:01:47 ] 色コードが書いてあるテキストファイルを読み込みたいんだけど、 "0xAARRGGBB" の形式で書いてあるから lua_tointeger だと読めないんだよね そうか lua_tonumber は double だから 32ビット符号なしでもちゃんと変換できるのかな? 試してみます
963 名前:962 mailto:sage [2009/05/20(水) 21:34:17 ] テキストファイルというか lua でかいた設定ファイルという感じね
964 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 07:26:38 ] // / / パカッ //⌒)∩__∩ /.| .| ノ ヽ / | | ● ● | / | 彡 ( _●_) ミ Lua!! / | ヽ |∪| /_ // │ ヽノ \/ " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
965 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 07:42:45 ] // / / パカッ //⌒)∩__∩ /.| .| ノ ヽ / | | ● ● | / | 彡 ( _●_) ミ Luaまピョーん☆ / | ヽ |∪| /_ // │ ヽノ \/ " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
966 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 13:39:45 ] Luaのコメントが//か#だったら最高だったんだが... -- だと構文ハイライトされないエディタで見たときにコードに埋もれてよく見えん。
967 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 14:21:38 ] そういう人は squirrel にうつると精神衛生的には楽になるよ!
968 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 15:29:42 ] Luaの向上心のなさは最低レベルだから 宗教論争の火種になりそうな「改良」は、いくら提案してもむだだと思う。
969 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 22:07:43 ] -- は伝統的な構文だからもっと賢いエディタを使えばよろし
970 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 23:01:14 ] >>968 向上心のなさ、というか後方互換性が最大限に考慮されている気がする。 だから、商用プロダクトにも安心して採用できるんだろうけど。 最近、web周りでRubyとかRailsとかも使っているんだが バージョン上がると全然違う挙動とか、書き方換わったりするのがザラだったりするんだが、これが結構キツイ 書籍が出ても、すぐ陳腐化しちゃったり…書籍の日本語訳が出たころには、次のかなり変わったバージョンがなんて (Ruby 1.8はいいんだけど、Railsは本当にヒドイw しかも次期バージョンで他のフレームワークと統合されるのが決定しててちょオマ…)
971 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 23:49:52 ] //でコメントか。 AngelScriptの出番だな!
972 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 23:57:55 ] いやさ、エディタにあわせてライブラリ諸々変更なんて 誰も本気で言わないから
973 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 00:29:20 ] つーかそんな程度もカスタマイズできないエディタを持っていることと そんな程度も我慢できない根性でLuaを選んだ自分の浅はかさを呪うがいい
974 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 09:56:26 ] 我慢しないで、カスタマイズができる「普通の」テキストエディタを使ってください
975 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 12:52:22 ] 自分は普通にエディタ使うけど、客が使ってくれるとは限らないじゃない。 メモ帳で開けないから、設定ファイルの拡張子は xml じゃなくて txt にしてくれと言われたのに。
976 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 12:58:22 ] メモ帳で開くような設定ファイルを XML にする時点で仕様バグといってもいい。まじで。
977 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 13:02:46 ] それは拡張子xmlをメモ帳に関連付けるだけで良かったんじゃないか
978 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 13:33:11 ] 細かく設定したいから、可能な限り設定項目多くしてくれといわれたので、 ini形式よりもxmlのほうが楽だったんだよね。 メモ帳に関連付けるだけで終わりだし、そもそもxmlエディタいれればそれで終わりなのに。
979 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 14:35:22 ] xmlなんかは1行目に文字コードセットが定義されているから、 下手にメモ帳で開いて保存すると、文字コード変わっちゃうしメンドクサイことになりますよね あと、xmlはMSからエディタ出てるけど微妙に使いづらいのが難点 個人的に、スクリプト言語で使うオススメの設定フォーマットはJSONだと思う
980 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 14:37:08 ] 素人さんにさわらせる場合は CSV 以上のものは使っちゃダメだってのが経験則
981 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 14:41:20 ] >>980 同感ですな xmlは素人には無理 フォーマット決めうちなtxtか、ini程度でokな気がする
982 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 16:29:30 ] 質問。 C からlua の関数を呼ぶ -> 呼ばれた関数は、lua 内の別の関数 A そのものを返す -> C 側でそれを保持して、必要なときに A を呼びだす てことをやりたいんだけど、どうすればいいですか? lua の関数オブジェクトやみたいなのをスタックから取得する関数が見当たらないのですが。 lua_getglobal(L, "getfunc"); lua_call(L, 0, 1); myfunc = スタック[-1]からlua関数を取得 ... しばらくたってから ... myfunc をスタックにpush lua_call(...) ということがやりたいです。
983 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 17:09:08 ] >>982 Lua はオブジェクトを直接C側で参照する機構を持たない。よって単純には出来ない。 一般的には luaL_ref を使ってオブジェクトのリファレンス(絶対重ならないint値)をとって、 それをつかってレジストリテーブルにつっこんでおいて、必要になったらそのリファレンスを つかってレジストリテーブルから引っ張り出してくる、という手法がとられる。 そんなややこしいのはいやじゃって人は、リファレンスを C側で保持できる squirrel オススメ
984 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 17:58:18 ] いまのプロジェクトにはC縛りがあるのでC++なsqurrelはダメなんです。 luaL_ref が一番素直そうなのでそれでやってみます。どうもありがとう。
985 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 00:58:12 ] SquirrelってC++だっけ? bindは確かにC++だが、直叩きだったらCの範疇でいけたような・・・
986 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 01:07:48 ] squirrel のソース自体は c++ だよ。 class でなくて struct なのは趣味かね。 ただ、インターフェース的には全部C合わせなので、普通にリンクして使える。 例外とかも全く使ってないから問題になるところはどこにもない。 プロジェクトが C縛りってのがいまどきだと意味不明だねぇ