【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/
0363デフォルトの名無しさん
2014/01/17(金) 08:09:28.29/ / パカッ
//⌒)∩__∩
/.| .| ノ ヽ
/ | | ● ● |
/ | 彡 ( _●_) ミ Lua!!
/ | ヽ |∪| /_
// │ ヽノ \/
" ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
0364デフォルトの名無しさん
2014/01/17(金) 16:23:55.46そりやsquirrel側はC++側の参照を知らないもの。当然かと
squirrelから渡されたものは、HSQOBJECT のかたちで取得して、保持するときには sq_addref()して、不要になったら sq_release() するのが正解
0365デフォルトの名無しさん
2014/01/17(金) 18:31:37.39メモリリークの原因になりやすい
0366デフォルトの名無しさん
2014/01/22(水) 20:05:40.980367デフォルトの名無しさん
2014/01/31(金) 16:55:15.38自分で関数を作るしかない?
0368デフォルトの名無しさん
2014/02/01(土) 23:19:13.62現在、threadをidle状態にさせるために、wakeupで終了条件を渡して
threadとして実行する関数内でreturnなりさせてidle状態にさせていますが面倒です。
0369368
2014/02/02(日) 00:01:58.470370デフォルトの名無しさん
2014/02/02(日) 00:31:12.85┼ (\. \! * // ,/) *
+ * (ヽ、 \ + * / /) +
⊂ニ ) * + ( ニ⊃
* + ⊂、 ( ∩___∩ ノ ⊃ + *
(/(/ ヽ | ノ ヽ / 、)ヽ) ┼
+ (/ ∨ ● ●レ /⌒) 、)ヽ)
* (/' | ( _●_) ミ' /、)、)´ +
+ (/'ヽ 彡、 |∪| ノ / AngelScript!!
+ / __ヽノ / * +
┼ (___) / +
/ /
(_ ⌒丶..
| /ヽ }.
し ))
ソ トントン
0371デフォルトの名無しさん
2014/02/03(月) 05:51:52.940372デフォルトの名無しさん
2014/02/05(水) 23:25:39.46sqstd_printcallstackをラップしたのをバインドしてthreadの関数内で呼び出しても、
thread.callとかthread.wakeupんとこまでのスタックしか見れなくてデバッグが面倒
0373デフォルトの名無しさん
2014/02/06(木) 01:00:28.570374デフォルトの名無しさん
2014/02/06(木) 13:14:51.80ってことはsq_getthreadとかと組み合わせれば出来んのかな。
助かったよ、ありがとう
0375デフォルトの名無しさん
2014/02/06(木) 16:31:10.120376デフォルトの名無しさん
2014/02/06(木) 16:34:11.87スレッド制御してるVMがグローバルに一つなら、そのwakeup呼び出ししてる間は
とくに変化無いから、もうグローバルに直接参照して表示してしまうってのも一つの手だね
俺はそれぞれのスレッドのwakeupは、全部C++のメインの一カ所からしか呼ばない(親VMは登録とかにしか使わない)から上をたぐる必要は特に無い
0377デフォルトの名無しさん
2014/02/06(木) 19:41:13.19で、早速また分からんことが。
・スクリプトでnewthreadで生成したスレッドをC++にてsq_getthreadで取得
・取得したvmに対してsq_newclosure,sq_seterrorhandlerで
ランタイムエラーハンドラを設定したんだけど、
スレッド実行中にエラー出ても呼ばれないんですが原因なんでしょう。
同じノリでC++からsq_setprintfuncで出力関数をセットすると期待通りに動作するんだけど。
0378デフォルトの名無しさん
2014/02/06(木) 20:13:41.720379デフォルトの名無しさん
2014/02/06(木) 20:42:06.750380デフォルトの名無しさん
2014/02/10(月) 11:35:20.59トゥイッターで「#squirrel」を検索するとマジもんのリスばっか出てくる。
どのハッシュタグならココで扱ってるSquirrel拾えるの?
0381デフォルトの名無しさん
2014/02/10(月) 11:43:35.220382デフォルトの名無しさん
2014/02/28(金) 21:55:32.80アイテムデータを打ち込むためのフォームなどを自作しておかないと、
スクリプトの良さを生かせないなぁ、というところに行き着いてしまうのですが、
個人製作の方々はそういったものを自作していたりするんでしょうか?
むしろ、そんなところに拘るくらいならUnityや他のゲーム製作ツールについて
勉強してた方がマシでしょうか?
0383デフォルトの名無しさん
2014/02/28(金) 22:11:10.98一般的なものならinport/exportで定番どころのフォーマットは対応してるので困ることはないのではないかな
対応してないとしてもconverterを書くだけだから簡単に書ける
0384デフォルトの名無しさん
2014/02/28(金) 22:15:28.12既に道を踏み外している
ゲームを完成させたいなら計画を立て直せ
そうでないなら合理性なんか考えず好きなように楽しめ
0385デフォルトの名無しさん
2014/02/28(金) 22:17:33.95まあいいや
0386デフォルトの名無しさん
2014/02/28(金) 22:31:38.48既存のモノで、マップエディタならJsonあたりで出力できるものや、
データ入力ならCSVエディタや、既存DB用ファイルを出力するエディタあたりでしょうか?
>>384
確かに、そうですね・・・
まだ数回しかチャレンジしてないのですが、どうしても毎回、
「プログラムで直書きしたのと変わらんやんけ!」か、
「CSVで十分やんけ!」という状況ばかりになってしまって、
そこから一歩ステップアップできない感じなのです
0387デフォルトの名無しさん
2014/02/28(金) 23:01:28.08RegisterObjectType に asOBJ_POD を渡すとコンストラクタ、
代入演算子その他諸々が自動生成されるって話だけど、
asOBJ_POD | asOBJ_APP_CLASS_CONSTRUCTOR みたいにして
コンストラクタだけ独自拡張する使い方は仕様的にできるようになってるの?
0388デフォルトの名無しさん
2014/03/01(土) 07:44:24.61目的と手段が逆になってんじゃないの?
0389デフォルトの名無しさん
2014/03/01(土) 10:43:43.37普通にコンストラクタも登録できるから
公式リファレンス見ろ
0390デフォルトの名無しさん
2014/03/01(土) 11:25:09.70もしC++を使ってる人がLuaは不要だと言えば、C++の方が不要だと言い返される気がする
0391デフォルトの名無しさん
2014/03/01(土) 12:09:22.88コンシューマだったり、プログラマ以外の作業員がいたり
アドベンチャーゲームみたいなジャンルだったらメリットが大きいと思うけど
個人製作だったら別に無理して活かす必要は無いような
0392デフォルトの名無しさん
2014/03/01(土) 13:21:37.93個人製作だとスクリプトファイルとかその他リソースを再読み込みする時間の方が
長かったりするのは俺だけ?てかみんなはスクリプトファイルどれくらい分割してる?
0393デフォルトの名無しさん
2014/03/01(土) 15:07:27.08ゲームは再起動するんだから、
他のリソースふくめたロード時間は
スクリプトつかっててもつかってなくても大差ないかと
スクリプト単体のロード時間は誤差の範囲だよ。確実にコンパイル&リンク時間のが長い
0394デフォルトの名無しさん
2014/03/01(土) 15:08:56.520395デフォルトの名無しさん
2014/03/01(土) 15:29:29.09修正したファイルだけ再読み込みできるようにしておくといい感じ
0396デフォルトの名無しさん
2014/03/01(土) 15:29:47.45392じゃないけど
どのリソースを読み込むかスクリプトで指示されているから
スクリプトの再読み込みはその他リソースの再読み込みとほぼ同義で
時間がかかるって話じゃないの
だから
スクリプト単体のロード時間が誤差の範囲なのは自明で
それをコンパイル&リンク時間と比較するのはこの文脈ではナンセンス
0397デフォルトの名無しさん
2014/03/01(土) 15:47:17.62スクリプトがコンパイル時間がかからなくて便利って話は、そもそもその単純比較の場合の話だから、そのメリットが得られてないならそれは作りが悪いってことだよね。結局のところ
0398デフォルトの名無しさん
2014/03/01(土) 15:47:27.35それを実現するためには副作用を減らす設計が重要で
とりあえずスクリプトで実装して
重い処理はホスト言語で実装しなおす
みたいなボトムアップな作り方してると困っちゃうんだよね
というか困った
0399デフォルトの名無しさん
2014/03/01(土) 15:57:47.84それは「スクリプトがコンパイル時間がかからなくて便利」ってのが
真である前提の結論だろ
実際は単なる謳い文句だよねって話じゃないの?
てかスクリプト言語使う動機なんて一つじゃないんだから
そんなことで作りの良し悪し評価されたくないよな
0400デフォルトの名無しさん
2014/03/01(土) 16:47:42.14リファレンス見てもPODで自動生成されたコンストラクタに
独自拡張のコンストラクタが上書きされるとか書いてなくね?
スレの趣旨には反するけどAlcantarea使えば諸々の問題解決できるよね。
実行中のプログラムの関数を再コンパイルして差し替えてくれるVSのアドイン
ttp://alcantarea-cpp.com/
0401デフォルトの名無しさん
2014/03/01(土) 16:57:41.84副作用を減らすんじゃなくて寿命を減らせばいいと思う
修正前の古いデータが生き残らないようにする
0402デフォルトの名無しさん
2014/03/01(土) 17:09:03.44良い悪いって言葉が気に入らないなら、
設計思想が合ってない、ってことでひとつ
宝の持ち腐れにしてまで使う意味はないな
0403デフォルトの名無しさん
2014/03/05(水) 17:03:30.70C++で使えますか?
Cでの導入方法を教えて下さい
0404デフォルトの名無しさん
2014/03/05(水) 23:29:20.69冷やし中華を?
0405デフォルトの名無しさん
2014/03/06(木) 03:15:58.29何を?
0406デフォルトの名無しさん
2014/03/06(木) 04:44:07.89インクルードファイルとライブラリファイルを設定して、プロジェクトのプロパティで追加の依存ファイルにlua5.1.libを追加すればいいんですね。
後、クラスのメンバ関数をLuaから使う方法が理解できない
local 変数に関数を代入するの?
0407デフォルトの名無しさん
2014/03/06(木) 06:38:39.310408デフォルトの名無しさん
2014/03/20(木) 17:29:02.65ID:Moc5bE7b0409デフォルトの名無しさん
2014/03/20(木) 17:29:20.35ID:Moc5bE7b0410デフォルトの名無しさん
2014/03/20(木) 17:38:01.94ID:cnVVzBAE┼ (\. \! * // ,/) *
+ * (ヽ、 \ + * / /) +
⊂ニ ) * + ( ニ⊃
* + ⊂、 ( ∩___∩ ノ ⊃ + *
(/(/ ヽ | ノ ヽ / 、)ヽ) ┼
+ (/ ∨ ● ●レ /⌒) 、)ヽ)
* (/' | ( _●_) ミ' /、)、)´ +
+ (/'ヽ 彡、 |∪| ノ / AngelScript!!
+ / __ヽノ / * +
┼ (___) / +
/ /
(_ ⌒丶..
| /ヽ }.
し ))
ソ トントン
0411デフォルトの名無しさん
2014/04/06(日) 22:57:21.17ID:OYl5erDzコード補完が出来るオススメエディタありませんか?
cocos2d-x2.x 時代は tolua++のpkgファイルあったから
Eclipseプラグインでコード補完出来たけど
3.x は探してもpkgみつからないの・・
0412デフォルトの名無しさん
2014/04/07(月) 00:09:17.03ID:wNleVxO30413デフォルトの名無しさん
2014/04/08(火) 23:44:03.23ID:tbmdAmxpintypeってテキストエディタではダメ?
0414デフォルトの名無しさん
2014/05/11(日) 10:08:02.17ID:w7YBCIUPコードに戻す方法しらない?
0415デフォルトの名無しさん
2014/05/11(日) 11:14:07.30ID:FPHyRsPYない
0416デフォルトの名無しさん
2014/05/11(日) 12:58:32.06ID:ahIxA60ohttps://github.com/bobsayshilol/luajit-decomp
https://github.com/NightNord/ljd
0417デフォルトの名無しさん
2014/05/12(月) 21:27:31.11ID:Jr9LnoLr整数型なんていらんかったんや! というこれまでの解説は間違いだったのか?
それとも、ゲームだけでなく、カーネルに近いところでも使われ始めたからなのか?
0418デフォルトの名無しさん
2014/05/12(月) 22:45:02.79ID:rRKhLlHVテーブルの整数添え字の要素を特殊化したりとかその関係で
記憶違いだったらごめん
0419デフォルトの名無しさん
2014/05/12(月) 23:06:44.25ID:fjbQFkov満を持して登場したと思ったらさっそくdeprecatedにされたbit32ライブラリさんかわいそう
0420デフォルトの名無しさん
2014/05/12(月) 23:22:03.10ID:fjbQFkov0421デフォルトの名無しさん
2014/05/13(火) 01:10:36.92ID:1hVKdVzYNetBSDはカーネル内部でLua使えるらしいぞ
それの関係かどうかまでは知らんが
ttp://news.mynavi.jp/news/2013/10/21/016/
0422デフォルトの名無しさん
2014/05/13(火) 09:56:07.37ID:htOfSQyE/ / パカッ
//⌒)∩__∩
/.| .| ノ ヽ
/ | | ● ● |
/ | 彡 ( _●_) ミ Lua!!
/ | ヽ |∪| /_
// │ ヽノ \/
" ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
0423デフォルトの名無しさん
2014/05/18(日) 06:43:02.86ID:cy7ef2kl0424デフォルトの名無しさん
2014/05/18(日) 14:03:13.72ID:HDWDipXQhttp://www.eluaproject.net
0425デフォルトの名無しさん
2014/06/08(日) 18:05:42.02ID:3LWaPBPWGoogleCodeのは2008年で止まってるし
0426デフォルトの名無しさん
2014/06/08(日) 20:03:09.73ID:RRJgBzCOttps://code.google.com/p/xtal-language/source/list
履歴見たら2013年11月13日が最終更新日だけど、どこ見てるんだ?
0427デフォルトの名無しさん
2014/06/08(日) 22:43:44.01ID:3LWaPBPW本当だ・・・
Downloadsのパッケージしか見てませんでした
ごめんなさい
0428デフォルトの名無しさん
2014/06/11(水) 12:26:03.22ID:nbPEp42H0429デフォルトの名無しさん
2014/06/11(水) 16:57:16.91ID:mGpoQXd/┼ (\. \! *=@ // ,/) *
+ * (ヽ、 \ + * / /) +
⊂ニ ) * + ( ニ⊃
* + ⊂、 ( ∩___∩ ノ ⊃ + *
(/(/ ヽ | ノ ヽ / 、)ヽ) ┼
+ (/ ∨ ● ●レ /⌒) 、)ヽ)
* (/' | ( _●_) ミ' /、)、)´ +
+ (/'ヽ 彡、 |∪| ノ / AngelScript!!
+ / __ヽノ / * +
┼ (___) / +
/ /
(_ ⌒丶..
| /ヽ }.
し ))
ソ トントン
0430デフォルトの名無しさん
2014/06/19(木) 01:32:25.81ID:wnpllGmUNLuaをSJISに対応させる方法はないでしょうか?
NLua同梱のlua52.dllをSJIS対応版に差し替えればいいかと思ったんですが、
このdllは公式配布のものとは違うようで、ビルド方法が分かりませんでした。
dllのビルドさえできれば、Luaの字句解析部(llex.c)へのパッチの当て方は分かっているんですが…
0431デフォルトの名無しさん
2014/06/19(木) 13:05:43.69ID:CumbCiDKhttps://github.com/NLua/lua
これでしょ?
cmake->buildするだけでは?
0432デフォルトの名無しさん
2014/06/20(金) 17:24:54.94ID:N64lKT9Jビルドできました。
https://github.com/NLua/NLuaしか見てなかった・・・
0433デフォルトの名無しさん
2014/06/20(金) 17:32:59.29ID:TUABdWdOgit clone https://github.com/NLua/NLua.git
cd NLua
git submodule update --init --recursive
で入るんだけどね
0434デフォルトの名無しさん
2014/06/29(日) 14:59:39.60ID:SaBki4ZJmrubyのprint出力をホスト側で受けるにはmrb_define_methodで"__printstr__"に
関数を設定すればいいと聞いたのでそのようにしているのですが、標準出力と
標準エラー出力の区別ってできないんでしょうか?
0435デフォルトの名無しさん
2014/06/30(月) 15:10:51.45ID:02CSsGE4mruby-print/src/print.c 内の printstr で stdout とハードコーディングされてるので、stderr に出したいときはここを書き換えるか、新たに stderr に出すメソッドを追加すればいいのでは?
0436デフォルトの名無しさん
2014/06/30(月) 23:03:22.29ID:FuMPZ5KZprintstrのフックでは受け取れないメッセージがあったのでエラー出力には別のフックがあるのかと
思ったんですが、ソース見てみたらそこかしこでfwrite使って直接出力してますね。
確かにこれだと自分でソースいじらないとならないですね。
0437デフォルトの名無しさん
2014/07/02(水) 16:59:10.88ID:JkuzDLMY4、5年ぐらい前の奴なら英語サイトの奴があるけど、最近はどうなのかなと思って。
0438デフォルトの名無しさん
2014/07/02(水) 21:40:33.67ID:z0TOEu0hpythonだとpypy?
luajitは今後5.3移行にちゃんと追従してくれるか心配だね。
組み込み用としてのメリットはluaには他にもいろいろあるだろうけど
jit環境が追従していかないとmrubyあたりに追い抜かれる?
0439デフォルトの名無しさん
2014/07/03(木) 07:39:27.54ID:FjTkZ2C10440デフォルトの名無しさん
2014/07/05(土) 14:29:38.02ID:MeYLeon+0441デフォルトの名無しさん
2014/07/05(土) 21:54:08.81ID:K5ikJkFlASがのけ者にされてたからちょっと安心した
0442デフォルトの名無しさん
2014/07/06(日) 06:19:08.04ID:xkFVsdDOこれコンパイル時に全部型チェックしてくれるの?
0443デフォルトの名無しさん
2014/07/06(日) 12:38:13.11ID:uyyLiQuXという疑問が拭えないことだ
0444デフォルトの名無しさん
2014/07/07(月) 01:12:10.12ID:KmCWtuSaどうしてもスクリプトにしないといけない箇所があったときは
慣れ親しんだC++に近い文法でスクリプト書けるってのは凄い利点だよ
0445デフォルトの名無しさん
2014/07/07(月) 01:43:37.99ID:PzOLkwtR思い込み以外では存在しない訳で
0446デフォルトの名無しさん
2014/07/07(月) 01:49:05.61ID:X/HL5rf/0447デフォルトの名無しさん
2014/07/07(月) 02:26:29.42ID:amtUtvKD組み込みやすくもないし
書きやすくもないんだよね
しいて言えば
スクリプタを管理する立場の人にとっては
手間が減り楽が出来るのかもしれないね
現実社会でもよく見られる構図だけど
奴隷頭ってやつだな
0448デフォルトの名無しさん
2014/07/07(月) 07:47:10.67ID:3MsBFfONただし英語程度はできることが前提だが。
0449デフォルトの名無しさん
2014/07/07(月) 09:42:19.00ID:n/CZjLr00450デフォルトの名無しさん
2014/07/07(月) 10:01:11.88ID:kMcKP8+60451デフォルトの名無しさん
2014/07/07(月) 10:23:10.27ID:KmCWtuSaC++で作ったMOD前提のM.U.G.E.Nみたいな2Dゲーム
キャラクターの描画・行動全て自由に作れるようにするとしたら
スクリプトじゃなくて何にすればいい?
0452デフォルトの名無しさん
2014/07/07(月) 11:08:37.90ID:m9tAIraA制御のインターフェースが外部に全部公開されてるってことだよね
0453デフォルトの名無しさん
2014/07/07(月) 22:51:51.30ID:KmCWtuSa書き方が悪かったな
MOD前提のC++で作った・・・だわ
0454デフォルトの名無しさん
2014/07/08(火) 14:33:11.22ID:x77uNS3Eヘッダ1個インクルードしてライブラリファイル1個リンクするだけでOK。
0455デフォルトの名無しさん
2014/07/08(火) 15:54:28.60ID:t9t2Zfam0456デフォルトの名無しさん
2014/07/08(火) 15:56:54.46ID:t9t2Zfam×Environment → ○Engine
0457デフォルトの名無しさん
2014/07/08(火) 23:53:13.46ID:jARkErFjC++に特に思い入れのない人にとっては
何でC++の持つ恩恵が受けられる訳でもないスクリプトにまで
C++の流儀を持ち込まねばならんのだ
という感情があるということを
AngelScript推進派は意識した方がいいと思う
AngelScriptに懐疑的な人に対して
>>444みたいなアピールは無意味どころか逆撫でしてるんじゃない?
0458デフォルトの名無しさん
2014/07/08(火) 23:55:23.17ID:jARkErFj人にモノを薦めるときは相手の考えも尊重してね
という話
0459デフォルトの名無しさん
2014/07/09(水) 00:01:15.25ID:yWtVDAf2コンパイル時型チェックしてくれる組み込めるスクリプト言語って他にないの?
0460デフォルトの名無しさん
2014/07/09(水) 00:02:36.15ID:6stlqCZCじゃ今度からAngelScriptの話をするときは「(個人の感想です)」って末尾に付けるわ
0461デフォルトの名無しさん
2014/07/09(水) 00:08:24.48ID:HW4kwc6W0462デフォルトの名無しさん
2014/07/09(水) 00:27:27.75ID:q6W6WKLrBotや荒らしの類にしか見えないんだよ
本気で貢献したい、広めたいと思うなら
リファレンスの翻訳したり
サンプルコードを提示したりと
やることはいくらでもあるでしょ?
どっかの国のじゃないんだからさぁ
ま、流行らないと思うけども
■ このスレッドは過去ログ倉庫に格納されています