[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 10/12 20:25 / Filesize : 241 KB / Number-of Response : 987
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【Lua】組み込み系言語総合【Squirrel】



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縛りってのがいまどきだと意味不明だねぇ






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<241KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef