【Lua】組み込み系言語総合 その6【Squirrel】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2013/03/10(日) 15:10:32.28使われるプログラミング言語についてのスレッドです
まとめwiki(なにか質問する前に必ずみること!)
http://wikiwiki.jp/lua/
その他の参考URLは>2から
■前スレ
【Lua】組み込み系言語総合 その5【Squirrel】
http://toro.2ch.net/test/read.cgi/tech/1321063450/
■過去スレ
その4 http://hibari.2ch.net/test/read.cgi/tech/1301414458/
その3 http://hibari.2ch.net/test/read.cgi/tech/1272643397/
その2 http://pc12.2ch.net/test/read.cgi/tech/1243210301/
その1 http://pc12.2ch.net/test/read.cgi/tech/1205208141/
プログラミング言語 Lua
その3 http://pc11.2ch.net/test/read.cgi/tech/1160799232/
0102デフォルトの名無しさん
2013/04/13(土) 10:14:35.220103デフォルトの名無しさん
2013/04/13(土) 12:50:15.630104デフォルトの名無しさん
2013/04/13(土) 16:49:05.32JSとの互換性をある程度制限したサブセットならluaのVMで動かせるんじゃないか
0105デフォルトの名無しさん
2013/04/13(土) 21:56:15.100106デフォルトの名無しさん
2013/04/13(土) 23:11:15.340107デフォルトの名無しさん
2013/04/13(土) 23:24:25.010108デフォルトの名無しさん
2013/04/14(日) 08:39:34.90EclipseのM2M開発環境
> EclipseはArduinoとRasberry Piデバイスの開発のチュートリアルを提供している。
> これには組み込みLuaランタイム(Mihini)とLuaの開発環境(Koneki)のセットアップ方法も含まれている。
Luaがセンサーネットワークの世界に旅立っていった。
0109デフォルトの名無しさん
2013/04/14(日) 08:43:24.100110デフォルトの名無しさん
2013/04/14(日) 10:19:21.310111デフォルトの名無しさん
2013/04/14(日) 10:23:03.290112デフォルトの名無しさん
2013/04/15(月) 14:31:12.59オブジェクトのインスタンスとメソッドから関数ポインタを作る機能のようだ
普通の関数もクラスメソッドも関数ポインタに代入できる
3.0では値型のオブジェクトは使えなくなって
参照型のオブジェクトのみになるらしい
そうなるといっそうC#やJavaっぽくなる
0113デフォルトの名無しさん
2013/04/17(水) 19:02:58.71大々的にLuaBindのことを日本語で語ってるような場所ってないですかね?
0114デフォルトの名無しさん
2013/04/21(日) 06:56:41.22┼ (\. \! * // ,/) *
+ * (ヽ、 \ + * / /) +
⊂ニ ) * + ( ニ⊃
* + ⊂、 ( ∩___∩ ノ ⊃ + *
(/(/ ヽ | ノ ヽ / 、)ヽ) ┼
+ (/ ∨ ● ●レ /⌒) 、)ヽ)
* (/' | ( _●_) ミ' /、)、)´ +
+ (/'ヽ 彡、 |∪| ノ / AngelScript!!
+ / __ヽノ / * +
┼ (___) / +
/ /
(_ ⌒丶..
| /ヽ }.
し ))
ソ トントン
0115デフォルトの名無しさん
2013/04/24(水) 18:36:10.04MarmaladeがRADツールMarmalade Quickを正式リリース 2013-02-11 14:14
ttp://www.madewithmarmalade.com/node/60359
またMarmalade Quickは“ZeroBrane Studio” IDEと統合されており、Luaスクリプトの容易なオーサリング、デバッグが可能です。
0116デフォルトの名無しさん
2013/04/30(火) 22:06:32.31状況に応じて構造体の中身が変わる物を
squirrel から C++ 側に送りたい時って
何かいい方法はあるのでしょうか。
ディフューズ色が DWORD なのが問題なのですよね…。
他は殆どが FLOAT なのに…。
0117デフォルトの名無しさん
2013/05/01(水) 02:36:38.25http://www.publickey1.jp/blog/13/asmjsjavascript.html
0118デフォルトの名無しさん
2013/05/01(水) 02:41:19.590119デフォルトの名無しさん
2013/05/01(水) 15:59:59.18普通にフラグ判定して値を代入しなおすだけではないの?
float も dword も4byte で領域的には同じだからあとは
解釈次第だと思うんだけど何にはまってるんだろう
0120デフォルトの名無しさん
2013/05/01(水) 16:51:43.21バインダはSqrat?
0121デフォルトの名無しさん
2013/05/01(水) 22:59:00.95それと追加で質問なのですが、 C++側でSqrat::Classで登録したクラスを、 SquirrelからC++関数の呼び出しの引数に指定した際に、 C++関数内からクラスの実体を得る方法はあるのでしょうか?
RootTable(vm).GetSlotを使えばメンバ関数・変数にはアクセス出来るのですが、 クラスのポインタを取得して普通のC++のクラスのように扱えたらなと思ったので。
0122デフォルトの名無しさん
2013/05/02(木) 23:32:28.390123デフォルトの名無しさん
2013/05/03(金) 02:38:40.280124デフォルトの名無しさん
2013/05/03(金) 14:30:49.45AngelScript|Д`)ノ<きたわよ
そういうのはAngelScriptでやると簡単。
0125デフォルトの名無しさん
2013/05/03(金) 14:40:55.38┼ (\. \! * // ,/) *
+ * (ヽ、 \ + * / /) +
⊂ニ ) * + ( ニ⊃
* + ⊂、 ( ∩___∩ ノ ⊃ + *
(/(/ ヽ | ノ ヽ / 、)ヽ) ┼
+ (/ ∨ ● ●レ /⌒) 、)ヽ)
* (/' | ( _●_) ミ' /、)、)´ +
+ (/'ヽ 彡、 |∪| ノ / AngelScript!!
+ / __ヽノ / * +
┼ (___) / +
/ /
(_ ⌒丶..
| /ヽ }.
し ))
ソ トントン
0126デフォルトの名無しさん
2013/05/03(金) 18:36:39.380127デフォルトの名無しさん
2013/05/08(水) 22:07:08.55方法を解説してる所ってありませんか?
メンバ関数経由でset getするのしか見つからず…
0128デフォルトの名無しさん
2013/05/08(水) 23:56:32.38ラッピング関数作ってると思うけど
0129デフォルトの名無しさん
2013/05/09(木) 00:59:43.08対応するC++のメンバ変数をそのまま返す/設定するってのできるっちゃできるけどね
メンバ関数でやるより逆にコストかかる仕組みになるし多値返しできないしで
ぶっちゃけ言語サポート無しに無理するもんじゃねーなという結論に達した
0130デフォルトの名無しさん
2013/05/09(木) 05:31:19.080131デフォルトの名無しさん
2013/05/09(木) 05:46:34.650132デフォルトの名無しさん
2013/05/09(木) 18:39:34.03AngelScript|Д`)ノ<きたわよ
0133デフォルトの名無しさん
2013/05/09(木) 18:43:49.690134デフォルトの名無しさん
2013/05/09(木) 22:03:41.56なるほど、やはりその方法しかないのですね。
教えて頂きありがとうございました。
0135デフォルトの名無しさん
2013/05/10(金) 21:30:02.440136デフォルトの名無しさん
2013/05/10(金) 22:11:42.38┼ (\. \! * // ,/) *
+ * (ヽ、 \ + * / /) +
⊂ニ ) * + ( ニ⊃
* + ⊂、 ( ∩___∩ ノ ⊃ + *
(/(/ ヽ | ノ ヽ / 、)ヽ) ┼
+ (/ ∨ ● ●レ /⌒) 、)ヽ)
* (/' | ( _●_) ミ' /、)、)´ +
+ (/'ヽ 彡、 |∪| ノ / AngelScript!!
+ / __ヽノ / * +
┼ (___) / +
/ /
(_ ⌒丶..
| /ヽ }.
し ))
ソ トントン
0137デフォルトの名無しさん
2013/05/16(木) 18:07:30.53メンバ変数にアクセスする場合の話なのですが、
obj.menba は __get や __set でアクセスすればいいのですが、
obj.menba.var という風なメンバにアクセスしようとしたら、
[the index 'var' does not exist] というエラーが出てしまいました。
こういった使い方をしたい場合はどうやって登録すればいいのでしょうか。
0138デフォルトの名無しさん
2013/05/17(金) 00:17:43.29AngelScript|Д`)ノ<きたわよ
AngelScriptはその辺得意だよ。
0139デフォルトの名無しさん
2013/06/08(土) 18:40:11.38ttp://www.gmscript.com/
Q-Games の新作 PixelJunk, Inc. で使われているそうな…
ttp://pixeljunk.jp/inc/%E4%B8%BB%E3%81%AB%E7%8C%BF%E3%81%A8%E5%83%8D%E3%81%84%E3%81%A6%E3%81%BE%E3%81%99%E3%80%82/
0140デフォルトの名無しさん
2013/06/08(土) 19:25:57.510141デフォルトの名無しさん
2013/06/08(土) 19:42:34.920142デフォルトの名無しさん
2013/06/08(土) 20:01:20.72どう「いい」やつが欲しいのかによる・・・んじゃね
0143デフォルトの名無しさん
2013/06/08(土) 20:49:05.20その資料がここにある
ttp://cedil.cesa.or.jp/session/detail/301
無料だが登録が必要
日本語だとこれ関係しか見当たらぬ…
0144デフォルトの名無しさん
2013/06/09(日) 15:47:26.830145139
2013/06/10(月) 11:39:34.51>>144
>>143 がバンナムの人の講演記事で
業務用ゲーム機で利用した例が紹介されてました。
0146デフォルトの名無しさん
2013/06/11(火) 22:38:34.290147デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.AN0148デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.ANAngelScriptにもそういうのが欲しい…
デバッグ用の情報取ってきたりするのは簡単なんだけど
0149デフォルトの名無しさん
2013/07/02(火) NY:AN:NY.ANhttp://www.angelcode.com/angelscript/resources.html
asPEEK - Remote debugger
saejox has implemented a remote debugger for AngelScript projects. By integrating asPEEK into your application you will be able to use an ordinary web browser to remote debug your scripts with a nice graphical interface.
Download asPEEK from Bitbucket
Note: Code uses boost and websocket
0150149
2013/07/02(火) NY:AN:NY.AN0151デフォルトの名無しさん
2013/07/05(金) NY:AN:NY.ANlua_Stateの使用メモリがKB単位でモリモリ増えてって
消費メモリ量が無視できない量になりつつあるんだけどもそういうもんなの?
0152デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN他の言語も含め生でゴリゴリと各種バインダの差異など含めベンチとりましょう。
簡単なものでいいですよ。
お題が楽しければ暇な人も参戦し実のある内容になるでしょう。
0153デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN知らないだけでtolua++やluabindより良いバインダが存在しているような気がする。
0154デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.ANダウンロードしたけど、Demoのやつの動かし方が分からなかった…
0155デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.AN今度は、mallocとかfreeとかをスクリプト言語にバインドする人が出てくる
強力なバインダは良いバインダではない
弱い方が良い
0156デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.AN#define begin { は、以下のような奴だな。
ttp://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/sh/mac.h
ttp://www.pro.or.jp/~fuji/computerbooks/c/c.modula2.html
なんか全然違う話だと俺は思うのだが
0157デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.AN0158デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.AN>昔、Pascalのbegin/endを、C言語で#defineしようとした人がいたらしい
マクロの使い方としてK&Rにも書かれてる方法であり、取り立てて驚くような話ではない。
0159デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.AN0160デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.AN0161デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.AN忠実にしたくない場合はツールに丸投げできないと考えるのが自然
0162デフォルトの名無しさん
2013/07/15(月) NY:AN:NY.AN0163デフォルトの名無しさん
2013/07/15(月) NY:AN:NY.ANCriScript作ってた人がgoogleかどっかに入ってプロジェクト終了、じゃなかったっけ
0164デフォルトの名無しさん
2013/07/16(火) NY:AN:NY.AN0165デフォルトの名無しさん
2013/07/26(金) NY:AN:NY.AN自分のメソッドを呼び出すコルーチンをインスタンスとして持たせたら、循環参照が起こって解放されずにメモリリークに。
class A
{
coroutine c;
void coFunc()
{
…
Suspend();
…
}
void Init()
{
…
c.SetFunction(cFUNC(this.coFunc));
…
}
void Update()
{
c.Execute();
}
};
こんな感じでやると、cが循環参照になっちゃった。
0166デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.ANその手の処理には弱参照が必要
0167デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.AN0168デフォルトの名無しさん
2013/07/29(月) NY:AN:NY.ANhttp://www.gamedev.net/topic/645977-angelscript-2270-is-out/
・デリゲートを作ったりデリゲートの情報を取得できる
・関数の引数や戻り値がconst参照か調べられる
・GCが把握しているオブジェクトを列挙してパフォーマンス改善に役立てられる
・弱参照 スクリプトのクラスでもアプリケーションのクラスでも使える
0169デフォルトの名無しさん
2013/07/29(月) NY:AN:NY.AN一応GCフラグのあるクラスであれば、弱参照を使っていなくて循環参照になっても、最終的にGCで解放されるはずなんだが
弱参照を使っていればもっと早いタイミングで解放されるので使うといいと思ふ
0170デフォルトの名無しさん
2013/07/31(水) NY:AN:NY.AN弱参照やら
>・デリゲートを作ったりデリゲートの情報を取得できる
の機能を利用してみたがダメだった。
C++側でasIScriptFunctionを保持するやり方を間違えているのかも知れない。
0171デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.AN「スクリプト内のクラスAにC++側で定義したクラスBをメンバ変数として持たせて、Bのインスタンスに
this.〜でAのメンバ関数のdelegateを渡して保持する」
と循環参照が発生して解放されない、という状態になってるっぽい。
「AにBとスクリプト内のクラスCをメンバ変数として持たせて、Cのインスタンスのdelegateを渡して保持する」
場合は大丈夫っぽいんだが、さてどうしたものか。
0172デフォルトの名無しさん
2013/08/07(水) NY:AN:NY.AN0173デフォルトの名無しさん
2013/08/07(水) NY:AN:NY.AN0174デフォルトの名無しさん
2013/08/07(水) NY:AN:NY.AN0175デフォルトの名無しさん
2013/08/07(水) NY:AN:NY.AN一応、asBEHAVE_GET_WEAKREF_FLAGを使って弱参照にしてみたり、
asOBJ_GCつけてメソッド入れてやってみたんだけど上手く行かないんだ。
asIScriptFunctionが内部で持ってるデリゲート用のオブジェクトが上手く解放できないみたい。
0176デフォルトの名無しさん
2013/08/08(木) NY:AN:NY.AN循環参照にはならない筈なのに解放漏れがあるならそれは
何処かで参照カウント減らして解放するのを忘れているだけなんじゃないか
としか言えない
0177デフォルトの名無しさん
2013/08/08(木) NY:AN:NY.AN\\
\\\
\ ∧_∧
( ´・ω・)
G と) ガッ >>174
ヽ⌒)、 \人∧__∧
 ̄ (_) >`д´)')
∨つ /
0178デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.ANhttp://www.gamedev.net/topic/646723-angelscript-2271-is-here-so-soon-yes/
バグフィックス
メモリフットプリントの減少
void expressionで関数の出力引数を省略できる
デフォルト引数を匿名に出来る
0179デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN0180デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN/ / パカッ
//⌒)∩__∩
/.| .| ノ ヽ
/ | | ● ● |
/ | 彡 ( _●_) ミ Lua!!
/ | ヽ |∪| /_
// │ ヽノ \/
" ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
0181デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN0182デフォルトの名無しさん
2013/09/01(日) 10:45:33.660183デフォルトの名無しさん
2013/09/01(日) 12:16:25.91ほとんどが動的型付けだから
コード補完の性能はどれも似たようなもの
むしろ使い慣れた開発環境・エディタが対応しているかの方が重要だと思う
0184デフォルトの名無しさん
2013/09/01(日) 13:52:27.440185デフォルトの名無しさん
2013/09/01(日) 15:20:57.01VS&C#にC#だな。
0186デフォルトの名無しさん
2013/09/01(日) 15:56:48.03みたいなツッコミでOK?
0187デフォルトの名無しさん
2013/09/01(日) 16:01:13.71って感じでさらに脱線させればOK?
0188デフォルトの名無しさん
2013/09/01(日) 18:35:17.50絵空事ばかり
世迷い言に人々を巻き込みやがって
太平妖術だよ
0189デフォルトの名無しさん
2013/09/01(日) 18:36:18.64┼ (\. \! * // ,/) *
+ * (ヽ、 \ + * / /) +
⊂ニ ) * + ( ニ⊃
* + ⊂、 ( ∩___∩ ノ ⊃ + *
(/(/ ヽ | ノ ヽ / 、)ヽ) ┼
+ (/ ∨ ● ●レ /⌒) 、)ヽ)
* (/' | ( _●_) ミ' /、)、)´ +
+ (/'ヽ 彡、 |∪| ノ / AngelScript!!
+ / __ヽノ / * +
┼ (___) / +
/ /
(_ ⌒丶..
| /ヽ }.
し ))
ソ トントン
0190デフォルトの名無しさん
2013/09/01(日) 20:38:37.260191デフォルトの名無しさん
2013/09/02(月) 00:35:21.080192デフォルトの名無しさん
2013/09/02(月) 22:27:39.45ラッパーとインタフェースの自動生成が捗る?
0193デフォルトの名無しさん
2013/09/02(月) 22:41:22.04最近のは知らんが
0194デフォルトの名無しさん
2013/09/04(水) 16:57:01.010195デフォルトの名無しさん
2013/09/04(水) 17:20:42.93を繰り返してるうちに嫌になるな
生成されたシンボル名が1000文字突破してるの見て
めまいがしたのもいい思い出だ
0196デフォルトの名無しさん
2013/09/04(水) 18:12:40.97luabindより楽なケースもあればバインダ使わず生で書いたほうが楽なケースもある
その上で、SWIGを選択するような状況でダメだというなら
他の選択肢はtoluaぐらいしかない
で、SWIGとtoluaを比べると
冗長なのはデメリットだが依存せずピュアコードを吐くのはメリットなので好みの問題として
多言語対応でつぶしが効くという1点においてSWIGの勝ちかなと思うよ
0197デフォルトの名無しさん
2013/09/10(火) 19:15:01.410198デフォルトの名無しさん
2013/09/10(火) 19:36:31.380199デフォルトの名無しさん
2013/09/11(水) 08:36:58.960200デフォルトの名無しさん
2013/09/11(水) 16:59:49.050201デフォルトの名無しさん
2013/09/11(水) 22:45:42.73■ このスレッドは過去ログ倉庫に格納されています