トップページtech
1002コメント341KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2013/03/10(日) 15:10:32.28
LuaやSquirrelやAngelScriptなどアプリケーションへの組み込み用途で
使われるプログラミング言語についてのスレッドです
まとめ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/
0348デフォルトの名無しさん2013/12/28(土) 13:42:09.78
リモートでバッグが容易
かつ、お作法も確立してるので楽ちんなんだよな
0349デフォルトの名無しさん2013/12/29(日) 23:59:20.84
最近VLCビデオプレイヤの機能拡張言語がLuaだったのにやっと気づいた
0350デフォルトの名無しさん2013/12/30(月) 00:02:51.79
おめ
0351デフォルトの名無しさん2013/12/30(月) 00:32:29.40
DXライブラリでゲーム作ってて、スクリプトを組み込んでみたいんですが、
メインループ中にスクリプトをどのように組み込んでいけばいいのかまったく検討がつきません。
RPGのマップ上のイベントであれば、マップロード時にスクリプトファイルを読み込んで
イベントを関数化しておく、などは想像できるのですが・・・

それとも、主要クラスをスクリプトエンジンへバインドしてしまって
メインループ自体をスクリプト側で記述するという方法なのでしょうか?
0352デフォルトの名無しさん2013/12/30(月) 01:54:24.29
一般的には各オブジェクトのフレーム毎処理なり、メインループの段階ごとなりにスクリプト用のフックを準備して、それ経由で呼び出しされるようなイベントドリブンな書き方をすればいい。これは別に普通にCで書くのと特に変わらない

luaとかsquirrelのようなコルーチンありのスクリプトなら、メインループから、実行中のコルーチンスレッドのresumeを個別に呼び出しする形も作れる
それぞれのスレッドで suspend()するたびに
次のフレームに処理が継続されるので、UI処理書くのにとても便利

両方実装して使い分けるのも有り。いずれの場合も、参照するオブジェクトはスクリプトから見えるようにバインドする必要はでてくる
0353デフォルトの名無しさん2013/12/30(月) 17:04:01.21
>>352
ありがとうございます!
コルーチン勉強しようと思います
0354デフォルトの名無しさん2014/01/15(水) 01:28:40.37
AngelScript|Д`)ノ<遅くなったけどあけおめ。今年もスクリプトエンジョイしよう
0355デフォルトの名無しさん2014/01/15(水) 01:32:56.88
おっそーい
0356デフォルトの名無しさん2014/01/15(水) 18:55:31.97
ZekamasiScriptの登場が待たれる
0357デフォルトの名無しさん2014/01/16(木) 23:05:15.79
C++でクラス定義を公開してバインド。
Suirrelでインスタンスを生成したとき、
boost::shared_ptrを用いたインスタンスにするにはどうすればいいでしょうか。

C++とSquirrelとで共通の参照カウンタを持たせたいと考えています
0358デフォルトの名無しさん2014/01/16(木) 23:29:03.57
luaならレジストリを使ってやるから同様の逃げ道はあるだろうけど
そういうのが必要なケースってあるのかな?
設計を見なおしたほうがいいかも
0359デフォルトの名無しさん2014/01/17(金) 00:50:30.25
luabind使ってる時は自然と出来たものですから、
こっちでも使いたいなーと思ってました。
・C++でHogeクラス定義、公開
・Squirrelでインスタンス生成
・C++から公開しているオブジェクトマネージャへ登録
・C++側でさっきのHogeインスタンスを更新
みたいな構造を考えてました。
Hogeを継承したFooクラスとかも登録したいと考えてました。
設計考えてきます。
0360デフォルトの名無しさん2014/01/17(金) 02:10:14.78
対応したバインダかくだけじゃね?
squirrel側の参照カウンタとはダブるだけで共通にはならんけど動作自体は問題ない
0361デフォルトの名無しさん2014/01/17(金) 04:46:37.29
HogeをC++で定義、公開。
g_HogeManagerをC++で定義、インスタンスをSquirrelへ公開。
で、次のスクリプト関数実行。

function Func(){
local inst = Hoge()
g_HogeManager.add(inst)
}
で、C++側でg_HogeManagerの要素に対してupdateとか呼び出したいです。
Funcのスコープ抜けた時点でSquirrel側のinstの参照カウンタが0になり、
望まない形でインスタンスが破棄されてるようです。
ので、共通の形を取りたいと考えてました。
設計が悪いってのは、この周りの考え方が怪しいのかと。
0362デフォルトの名無しさん2014/01/17(金) 04:48:04.70
 
0363デフォルトの名無しさん2014/01/17(金) 08:09:28.29
       //
     /  /   パカッ
     //⌒)∩__∩
    /.| .| ノ     ヽ
    / | |  ●   ● |     
   /  | 彡  ( _●_) ミ Lua!!
   /  | ヽ  |∪|  /_
  // │   ヽノ  \/
  " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
0364デフォルトの名無しさん2014/01/17(金) 16:23:55.46
>>361
そりやsquirrel側はC++側の参照を知らないもの。当然かと

squirrelから渡されたものは、HSQOBJECT のかたちで取得して、保持するときには sq_addref()して、不要になったら sq_release() するのが正解
0365デフォルトの名無しさん2014/01/17(金) 18:31:37.39
あ、gHogeManagerがなんのためのものかにもよるけど、addrefしたものは当然C++側でもreleaseしないと消えなくなるから注意な

メモリリークの原因になりやすい
0366デフォルトの名無しさん2014/01/22(水) 20:05:40.98
AngelScript|Д`)<ASの得意分野の話をしてると聞いて
0367デフォルトの名無しさん2014/01/31(金) 16:55:15.38
squirrelって文字列比較できないんでしょうか?
自分で関数を作るしかない?
0368デフォルトの名無しさん2014/02/01(土) 23:19:13.62
Squirrelのthreadを外部からidle状態にさせることはできるのでしょうか。
現在、threadをidle状態にさせるために、wakeupで終了条件を渡して
threadとして実行する関数内でreturnなりさせてidle状態にさせていますが面倒です。
03693682014/02/02(日) 00:01:58.47
手法変えて自己解決しました
0370デフォルトの名無しさん2014/02/02(日) 00:31:12.85
        (´\r-、     ┼         +     /`/`)    +
     ┼   (\. \!              *     // ,/)  *
  +     * (ヽ、   \ +  *          /   /)   +
      ⊂ニ      )        *   +  (     ニ⊃
  *  +  ⊂、     (   ∩___∩   ノ     ⊃   +  *
         (/(/   ヽ  | ノ     ヽ /    、)ヽ)  ┼
    +        (/     ∨  ●   ●レ /⌒) 、)ヽ)
     *       (/'   |   ( _●_) ミ'  /、)、)´       +
         +    (/'ヽ 彡、   |∪| ノ /     AngelScript!!
     +            / __ヽノ  /  *      +
       ┼        (___) /      +
               /     /
               (_ ⌒丶..
                | /ヽ }.
                  し  ))
                    ソ  トントン
0371デフォルトの名無しさん2014/02/03(月) 05:51:52.94
Cocos2dx + lua が最強
0372デフォルトの名無しさん2014/02/05(水) 23:25:39.46
Squirrelでthreadの実行関数内でスタックダンプってどうやってとるの?
sqstd_printcallstackをラップしたのをバインドしてthreadの関数内で呼び出しても、
thread.callとかthread.wakeupんとこまでのスタックしか見れなくてデバッグが面倒
0373デフォルトの名無しさん2014/02/06(木) 01:00:28.57
そこから上は別のVMだから当然では
0374デフォルトの名無しさん2014/02/06(木) 13:14:51.80
あ、なるほど。
ってことはsq_getthreadとかと組み合わせれば出来んのかな。
助かったよ、ありがとう
0375デフォルトの名無しさん2014/02/06(木) 16:31:10.12
AngelScript|Д`)<AngelScript2.28.1記念カキコ 
0376デフォルトの名無しさん2014/02/06(木) 16:34:11.87
>>374
スレッド制御してる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.72
sq_notifyallexception しとかないと常にはよばれなかったような記憶
0379デフォルトの名無しさん2014/02/06(木) 20:42:06.75
おぉ、呼ばれた!ありがとう!
0380デフォルトの名無しさん2014/02/10(月) 11:35:20.59
スレチか悩んだがココで。
トゥイッターで「#squirrel」を検索するとマジもんのリスばっか出てくる。
どのハッシュタグならココで扱ってるSquirrel拾えるの?
0381デフォルトの名無しさん2014/02/10(月) 11:43:35.22
本家で聞けよ…
0382デフォルトの名無しさん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
>>383
既存のモノで、マップエディタならJsonあたりで出力できるものや、
データ入力ならCSVエディタや、既存DB用ファイルを出力するエディタあたりでしょうか?

>>384
確かに、そうですね・・・
まだ数回しかチャレンジしてないのですが、どうしても毎回、
「プログラムで直書きしたのと変わらんやんけ!」か、
「CSVで十分やんけ!」という状況ばかりになってしまって、
そこから一歩ステップアップできない感じなのです
0387デフォルトの名無しさん2014/02/28(金) 23:01:28.08
AngelScripterさんがいたら教えてほしい
RegisterObjectType に asOBJ_POD を渡すとコンストラクタ、
代入演算子その他諸々が自動生成されるって話だけど、
asOBJ_POD | asOBJ_APP_CLASS_CONSTRUCTOR みたいにして
コンストラクタだけ独自拡張する使い方は仕様的にできるようになってるの?
0388デフォルトの名無しさん2014/03/01(土) 07:44:24.61
>>386
目的と手段が逆になってんじゃないの?
0389デフォルトの名無しさん2014/03/01(土) 10:43:43.37
>>387
普通にコンストラクタも登録できるから
公式リファレンス見ろ
0390デフォルトの名無しさん2014/03/01(土) 11:25:09.70
Lua自体はC++を使ってなくて「Cで十分やんけ!」という状況なので
もしC++を使ってる人がLuaは不要だと言えば、C++の方が不要だと言い返される気がする
0391デフォルトの名無しさん2014/03/01(土) 12:09:22.88
>>382
コンシューマだったり、プログラマ以外の作業員がいたり
アドベンチャーゲームみたいなジャンルだったらメリットが大きいと思うけど
個人製作だったら別に無理して活かす必要は無いような
0392デフォルトの名無しさん2014/03/01(土) 13:21:37.93
スクリプト使えば最コンパイルなしで高速に微調整ができるっていうけど
個人製作だとスクリプトファイルとかその他リソースを再読み込みする時間の方が
長かったりするのは俺だけ?てかみんなはスクリプトファイルどれくらい分割してる?
0393デフォルトの名無しさん2014/03/01(土) 15:07:27.08
>>392
ゲームは再起動するんだから、
他のリソースふくめたロード時間は
スクリプトつかっててもつかってなくても大差ないかと

スクリプト単体のロード時間は誤差の範囲だよ。確実にコンパイル&リンク時間のが長い
0394デフォルトの名無しさん2014/03/01(土) 15:08:56.52
LOVE使っててそれは思った
0395デフォルトの名無しさん2014/03/01(土) 15:29:29.09
>>392
修正したファイルだけ再読み込みできるようにしておくといい感じ
0396デフォルトの名無しさん2014/03/01(土) 15:29:47.45
>>393
392じゃないけど
どのリソースを読み込むかスクリプトで指示されているから
スクリプトの再読み込みはその他リソースの再読み込みとほぼ同義で
時間がかかるって話じゃないの

だから
スクリプト単体のロード時間が誤差の範囲なのは自明で
それをコンパイル&リンク時間と比較するのはこの文脈ではナンセンス
0397デフォルトの名無しさん2014/03/01(土) 15:47:17.62
>>396
スクリプトがコンパイル時間がかからなくて便利って話は、そもそもその単純比較の場合の話だから、そのメリットが得られてないならそれは作りが悪いってことだよね。結局のところ
0398デフォルトの名無しさん2014/03/01(土) 15:47:27.35
>>395
それを実現するためには副作用を減らす設計が重要で
とりあえずスクリプトで実装して
重い処理はホスト言語で実装しなおす
みたいなボトムアップな作り方してると困っちゃうんだよね
というか困った
0399デフォルトの名無しさん2014/03/01(土) 15:57:47.84
>>397
それは「スクリプトがコンパイル時間がかからなくて便利」ってのが
真である前提の結論だろ
実際は単なる謳い文句だよねって話じゃないの?

てかスクリプト言語使う動機なんて一つじゃないんだから
そんなことで作りの良し悪し評価されたくないよな
0400デフォルトの名無しさん2014/03/01(土) 16:47:42.14
>>389
リファレンス見てもPODで自動生成されたコンストラクタに
独自拡張のコンストラクタが上書きされるとか書いてなくね?


スレの趣旨には反するけどAlcantarea使えば諸々の問題解決できるよね。
実行中のプログラムの関数を再コンパイルして差し替えてくれるVSのアドイン
ttp://alcantarea-cpp.com/
0401デフォルトの名無しさん2014/03/01(土) 16:57:41.84
>>398
副作用を減らすんじゃなくて寿命を減らせばいいと思う
修正前の古いデータが生き残らないようにする
0402デフォルトの名無しさん2014/03/01(土) 17:09:03.44
>>399
良い悪いって言葉が気に入らないなら、
設計思想が合ってない、ってことでひとつ

宝の持ち腐れにしてまで使う意味はないな
0403デフォルトの名無しさん2014/03/05(水) 17:03:30.70
今から始めようと思うんですけど
C++で使えますか?
Cでの導入方法を教えて下さい
0404デフォルトの名無しさん2014/03/05(水) 23:29:20.69
>>403
冷やし中華を?
0405デフォルトの名無しさん2014/03/06(木) 03:15:58.29
>>403
何を?
0406デフォルトの名無しさん2014/03/06(木) 04:44:07.89
get started からダウンロードして
インクルードファイルとライブラリファイルを設定して、プロジェクトのプロパティで追加の依存ファイルにlua5.1.libを追加すればいいんですね。

後、クラスのメンバ関数をLuaから使う方法が理解できない
local 変数に関数を代入するの?
0407デフォルトの名無しさん2014/03/06(木) 06:38:39.31
lua では C でいうところの関数名=変数名となってるから大体合ってる
0408デフォルトの名無しさん2014/03/20(木) 17:29:02.65ID:Moc5bE7b
AngelScript|Д`)<AngelScript2.28.1記念カキコ
0409デフォルトの名無しさん2014/03/20(木) 17:29:20.35ID:Moc5bE7b
ごめん2.28.2だ
0410デフォルトの名無しさん2014/03/20(木) 17:38:01.94ID:cnVVzBAE
        (´\r-、     ┼         +     /`/`)    +
     ┼   (\. \!              *     // ,/)  *
  +     * (ヽ、   \ +  *          /   /)   +
      ⊂ニ      )        *   +  (     ニ⊃
  *  +  ⊂、     (   ∩___∩   ノ     ⊃   +  *
         (/(/   ヽ  | ノ     ヽ /    、)ヽ)  ┼
    +        (/     ∨  ●   ●レ /⌒) 、)ヽ)
     *       (/'   |   ( _●_) ミ'  /、)、)´       +
         +    (/'ヽ 彡、   |∪| ノ /     AngelScript!!
     +            / __ヽノ  /  *      +
       ┼        (___) /      +
               /     /
               (_ ⌒丶..
                | /ヽ }.
                  し  ))
                    ソ  トントン
0411デフォルトの名無しさん2014/04/06(日) 22:57:21.17ID:OYl5erDz
cocos2d-x3.0 Luaバインディング使ってるんだけど
コード補完が出来るオススメエディタありませんか?
cocos2d-x2.x 時代は tolua++のpkgファイルあったから
Eclipseプラグインでコード補完出来たけど
3.x は探してもpkgみつからないの・・
0412デフォルトの名無しさん2014/04/07(月) 00:09:17.03ID:wNleVxO3
Squirrel 3.0.6 stable
0413デフォルトの名無しさん2014/04/08(火) 23:44:03.23ID:tbmdAmxp
>>411
intypeってテキストエディタではダメ?
0414デフォルトの名無しさん2014/05/11(日) 10:08:02.17ID:w7YBCIUP
Luajit等でバイトコードにしたものを
コードに戻す方法しらない?
0415デフォルトの名無しさん2014/05/11(日) 11:14:07.30ID:FPHyRsPY
>>414
ない
0416デフォルトの名無しさん2014/05/11(日) 12:58:32.06ID:ahIxA60o
作りかけならあるみたい

https://github.com/bobsayshilol/luajit-decomp
https://github.com/NightNord/ljd
0417デフォルトの名無しさん2014/05/12(月) 21:27:31.11ID:Jr9LnoLr
Lua って 5.3 で整数型が導入されるのか。
整数型なんていらんかったんや! というこれまでの解説は間違いだったのか?
それとも、ゲームだけでなく、カーネルに近いところでも使われ始めたからなのか?
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:fjbQFkov
ああひょっとして特殊化ってのはテーブルのarray partのことを言ってるのかな
0421デフォルトの名無しさん2014/05/13(火) 01:10:36.92ID:1hVKdVzY
>>417
NetBSDはカーネル内部で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:cy7ef2kl
整数型導入でさらに速くなるみたいね
0424デフォルトの名無しさん2014/05/18(日) 14:03:13.72ID:HDWDipXQ
eLuaという、マイクロコントローラ向けのさらに軽量なLuaもあるらしい
http://www.eluaproject.net
0425デフォルトの名無しさん2014/06/08(日) 18:05:42.02ID:3LWaPBPW
Xtalってもう更新してないのかな
GoogleCodeのは2008年で止まってるし
0426デフォルトの名無しさん2014/06/08(日) 20:03:09.73ID:RRJgBzCO
>>425
ttps://code.google.com/p/xtal-language/source/list
履歴見たら2013年11月13日が最終更新日だけど、どこ見てるんだ?
0427デフォルトの名無しさん2014/06/08(日) 22:43:44.01ID:3LWaPBPW
>>426
本当だ・・・
Downloadsのパッケージしか見てませんでした
ごめんなさい
0428デフォルトの名無しさん2014/06/11(水) 12:26:03.22ID:nbPEp42H
AngelScript|Д`)<AngelScript2.29.0記念カキコ
0429デフォルトの名無しさん2014/06/11(水) 16:57:16.91ID:mGpoQXd/
        (´\r-、     ┼         +     /`/`)    +
     ┼   (\. \!              *=@    // ,/)  *
  +     * (ヽ、   \ +  *          /   /)   +
      ⊂ニ      )        *   +  (     ニ⊃
  *  +  ⊂、     (   ∩___∩   ノ     ⊃   +  *
         (/(/   ヽ  | ノ     ヽ /    、)ヽ)  ┼
    +        (/     ∨  ●   ●レ /⌒) 、)ヽ)
     *       (/'   |   ( _●_) ミ'  /、)、)´       +
         +    (/'ヽ 彡、   |∪| ノ /     AngelScript!!
     +            / __ヽノ  /  *      +
       ┼        (___) /      +
               /     /
               (_ ⌒丶..
                | /ヽ }.
                  し  ))
                    ソ  トントン
0430デフォルトの名無しさん2014/06/19(木) 01:32:25.81ID:wnpllGmU
C#コンソールアプリにLuaを組み込みたくてNLuaライブラリを使おうと考えてるんですが、
NLuaをSJISに対応させる方法はないでしょうか?

NLua同梱のlua52.dllをSJIS対応版に差し替えればいいかと思ったんですが、
このdllは公式配布のものとは違うようで、ビルド方法が分かりませんでした。

dllのビルドさえできれば、Luaの字句解析部(llex.c)へのパッチの当て方は分かっているんですが…
0431デフォルトの名無しさん2014/06/19(木) 13:05:43.69ID:CumbCiDK
>>430
https://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:TUABdWdO
リンクが貼られてるから
git clone https://github.com/NLua/NLua.git
cd NLua
git submodule update --init --recursive
で入るんだけどね
0434デフォルトの名無しさん2014/06/29(日) 14:59:39.60ID:SaBki4ZJ
C++プログラムへのmrubyの組み込みで教えてください。
mrubyのprint出力をホスト側で受けるにはmrb_define_methodで"__printstr__"に
関数を設定すればいいと聞いたのでそのようにしているのですが、標準出力と
標準エラー出力の区別ってできないんでしょうか?
0435デフォルトの名無しさん2014/06/30(月) 15:10:51.45ID:02CSsGE4
>>434
mruby-print/src/print.c 内の printstr で stdout とハードコーディングされてるので、stderr に出したいときはここを書き換えるか、新たに stderr に出すメソッドを追加すればいいのでは?
0436デフォルトの名無しさん2014/06/30(月) 23:03:22.29ID:FuMPZ5KZ
ありがとうございます。
printstrのフックでは受け取れないメッセージがあったのでエラー出力には別のフックがあるのかと
思ったんですが、ソース見てみたらそこかしこでfwrite使って直接出力してますね。
確かにこれだと自分でソースいじらないとならないですね。
0437デフォルトの名無しさん2014/07/02(水) 16:59:10.88ID:JkuzDLMY
最近の lua とか squirrel とか python の実行速度を比較したページってないかね?
4、5年ぐらい前の奴なら英語サイトの奴があるけど、最近はどうなのかなと思って。
0438デフォルトの名無しさん2014/07/02(水) 21:40:33.67ID:z0TOEu0h
速さはjit環境の有無で大分違うよね
pythonだとpypy?

luajitは今後5.3移行にちゃんと追従してくれるか心配だね。
組み込み用としてのメリットはluaには他にもいろいろあるだろうけど
jit環境が追従していかないとmrubyあたりに追い抜かれる?
0439デフォルトの名無しさん2014/07/03(木) 07:39:27.54ID:FjTkZ2C1
jit関係ないっしょ
0440デフォルトの名無しさん2014/07/05(土) 14:29:38.02ID:MeYLeon+
AngelScript|Д`)<AngelScriptJITは2.27に対応してるな
0441デフォルトの名無しさん2014/07/05(土) 21:54:08.81ID:K5ikJkFl
>>440
ASがのけ者にされてたからちょっと安心した
0442デフォルトの名無しさん2014/07/06(日) 06:19:08.04ID:xkFVsdDO
angelscript今までなぜか無視してたけど言語仕様見てきたら結構よさそうだな
これコンパイル時に全部型チェックしてくれるの?
0443デフォルトの名無しさん2014/07/06(日) 12:38:13.11ID:uyyLiQuX
angelscriptの最大の問題はこれならC++直接書くのとかわらなくね?
という疑問が拭えないことだ
0444デフォルトの名無しさん2014/07/07(月) 01:12:10.12ID:KmCWtuSa
>>443
どうしてもスクリプトにしないといけない箇所があったときは
慣れ親しんだ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
>>443
組み込みやすくもないし
書きやすくもないんだよね
しいて言えば
スクリプタを管理する立場の人にとっては
手間が減り楽が出来るのかもしれないね

現実社会でもよく見られる構図だけど
奴隷頭ってやつだな
■ このスレッドは過去ログ倉庫に格納されています