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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2013/03/10(日) 15:10:32.28 .net]
LuaやSquirrelやAngelScriptなどアプリケーションへの組み込み用途で
使われるプログラミング言語についてのスレッドです
まとめwiki(なにか質問する前に必ずみること!)
wikiwiki.jp/lua/

その他の参考URLは>2から

■前スレ
【Lua】組み込み系言語総合 その5【Squirrel】
toro.2ch.net/test/read.cgi/tech/1321063450/
■過去スレ
その4 hibari.2ch.net/test/read.cgi/tech/1301414458/
その3 hibari.2ch.net/test/read.cgi/tech/1272643397/
その2 pc12.2ch.net/test/read.cgi/tech/1243210301/
その1 pc12.2ch.net/test/read.cgi/tech/1205208141/
プログラミング言語 Lua
その3 pc11.2ch.net/test/read.cgi/tech/1160799232/

361 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 23:29:03.57 .net]
luaならレジストリを使ってやるから同様の逃げ道はあるだろうけど
そういうのが必要なケースってあるのかな?
設計を見なおしたほうがいいかも

362 名前:デフォルトの名無しさん [2014/01/17(金) 00:50:30.25 .net]
luabind使ってる時は自然と出来たものですから、
こっちでも使いたいなーと思ってました。
・C++でHogeクラス定義、公開
・Squirrelでインスタンス生成
・C++から公開しているオブジェクトマネージャへ登録
・C++側でさっきのHogeインスタンスを更新
みたいな構造を考えてました。
Hogeを継承したFooクラスとかも登録したいと考えてました。
設計考えてきます。

363 名前:デフォルトの名無しさん mailto:sage [2014/01/17(金) 02:10:14.78 .net]
対応したバインダかくだけじゃね?
squirrel側の参照カウンタとはダブるだけで共通にはならんけど動作自体は問題ない

364 名前:デフォルトの名無しさん mailto:sage [2014/01/17(金) 04:46:37.29 .net]
HogeをC++で定義、公開。
g_HogeManagerをC++で定義、インスタンスをSquirrelへ公開。
で、次のスクリプト関数実行。

function Func(){
local inst = Hoge()
g_HogeManager.add(inst)
}
で、C++側でg_HogeManagerの要素に対してupdateとか呼び出したいです。
Funcのスコープ抜けた時点でSquirrel側のinstの参照カウンタが0になり、
望まない形でインスタンスが破棄されてるようです。
ので、共通の形を取りたいと考えてました。
設計が悪いってのは、この周りの考え方が怪しいのかと。

365 名前:デフォルトの名無しさん mailto:sage [2014/01/17(金) 04:48:04.70 .net]
 

366 名前:デフォルトの名無しさん mailto:sage [2014/01/17(金) 08:09:28.29 .net]
       //
     /  /   パカッ
     //⌒)∩__∩
    /.| .| ノ     ヽ
    / | |  ●   ● |     
   /  | 彡  ( _●_) ミ Lua!!
   /  | ヽ  |∪|  /_
  // │   ヽノ  \/
  " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ

367 名前:デフォルトの名無しさん mailto:sage [2014/01/17(金) 16:23:55.46 .net]
>>361
そりやsquirrel側はC++側の参照を知らないもの。当然かと

squirrelから渡されたものは、HSQOBJECT のかたちで取得して、保持するときには sq_addref()して、不要になったら sq_release() するのが正解

368 名前:デフォルトの名無しさん mailto:sage [2014/01/17(金) 18:31:37.39 .net]
あ、gHogeManagerがなんのためのものかにもよるけど、addrefしたものは当然C++側でもreleaseしないと消えなくなるから注意な

メモリリークの原因になりやすい

369 名前:デフォルトの名無しさん mailto:sage [2014/01/22(水) 20:05:40.98 .net]
AngelScript|Д`)<ASの得意分野の話をしてると聞いて



370 名前:デフォルトの名無しさん mailto:sage [2014/01/31(金) 16:55:15.38 .net]
squirrelって文字列比較できないんでしょうか?
自分で関数を作るしかない?

371 名前:デフォルトの名無しさん mailto:sage [2014/02/01(土) 23:19:13.62 .net]
Squirrelのthreadを外部からidle状態にさせることはできるのでしょうか。
現在、threadをidle状態にさせるために、wakeupで終了条件を渡して
threadとして実行する関数内でreturnなりさせてidle状態にさせていますが面倒です。

372 名前:368 mailto:sage [2014/02/02(日) 00:01:58.47 .net]
手法変えて自己解決しました

373 名前:デフォルトの名無しさん mailto:sage [2014/02/02(日) 00:31:12.85 .net]
        (´\r-、     ┼         +     /`/`)    +
     ┼   (\. \!              *     // ,/)  *
  +     * (ヽ、   \ +  *          /   /)   +
      ⊂ニ      )        *   +  (     ニ⊃
  *  +  ⊂、     (   ∩___∩   ノ     ⊃   +  *
         (/(/   ヽ  | ノ     ヽ /    、)ヽ)  ┼
    +        (/     ∨  ●   ●レ /⌒) 、)ヽ)
     *       (/'   |   ( _●_) ミ'  /、)、)´       +
         +    (/'ヽ 彡、   |∪| ノ /     AngelScript!!
     +            / __ヽノ  /  *      +
       ┼        (___) /      +
               /     /
               (_ ⌒丶..
                | /ヽ }.
                  し  ))
                    ソ  トントン

374 名前:デフォルトの名無しさん mailto:sage [2014/02/03(月) 05:51:52.94 .net]
Cocos2dx + lua が最強

375 名前:デフォルトの名無しさん mailto:sage [2014/02/05(水) 23:25:39.46 .net]
Squirrelでthreadの実行関数内でスタックダンプってどうやってとるの?
sqstd_printcallstackをラップしたのをバインドしてthreadの関数内で呼び出しても、
thread.callとかthread.wakeupんとこまでのスタックしか見れなくてデバッグが面倒

376 名前:デフォルトの名無しさん mailto:sage [2014/02/06(木) 01:00:28.57 .net]
そこから上は別のVMだから当然では

377 名前:デフォルトの名無しさん mailto:sage [2014/02/06(木) 13:14:51.80 .net]
あ、なるほど。
ってことはsq_getthreadとかと組み合わせれば出来んのかな。
助かったよ、ありがとう

378 名前:デフォルトの名無しさん mailto:sage [2014/02/06(木) 16:31:10.12 .net]
AngelScript|Д`)<AngelScript2.28.1記念カキコ 

379 名前:デフォルトの名無しさん mailto:sage [2014/02/06(木) 16:34:11.87 .net]
>>374
スレッド制御してるVMがグローバルに一つなら、そのwakeup呼び出ししてる間は
とくに変化無いから、もうグローバルに直接参照して表示してしまうってのも一つの手だね

俺はそれぞれのスレッドのwakeupは、全部C++のメインの一カ所からしか呼ばない(親VMは登録とかにしか使わない)から上をたぐる必要は特に無い



380 名前:デフォルトの名無しさん mailto:sage [2014/02/06(木) 19:41:13.19 .net]
なるほど、そういう方法もあるのか。検討します。

で、早速また分からんことが。
・スクリプトでnewthreadで生成したスレッドをC++にてsq_getthreadで取得
・取得したvmに対してsq_newclosure,sq_seterrorhandlerで
ランタイムエラーハンドラを設定したんだけど、
スレッド実行中にエラー出ても呼ばれないんですが原因なんでしょう。
同じノリでC++からsq_setprintfuncで出力関数をセットすると期待通りに動作するんだけど。

381 名前:デフォルトの名無しさん mailto:sage [2014/02/06(木) 20:13:41.72 .net]
sq_notifyallexception しとかないと常にはよばれなかったような記憶

382 名前:デフォルトの名無しさん mailto:sage [2014/02/06(木) 20:42:06.75 .net]
おぉ、呼ばれた!ありがとう!

383 名前:デフォルトの名無しさん mailto:sage [2014/02/10(月) 11:35:20.59 .net]
スレチか悩んだがココで。
トゥイッターで「#squirrel」を検索するとマジもんのリスばっか出てくる。
どのハッシュタグならココで扱ってるSquirrel拾えるの?

384 名前:デフォルトの名無しさん mailto:sage [2014/02/10(月) 11:43:35.22 .net]
本家で聞けよ…

385 名前:デフォルトの名無しさん mailto:sage [2014/02/28(金) 21:55:32.80 .net]
ゲーム用途のスクリプトのことを学べば学ぶほど、最終的にはマップエディタや、
アイテムデータを打ち込むためのフォームなどを自作しておかないと、
スクリプトの良さを生かせないなぁ、というところに行き着いてしまうのですが、
個人製作の方々はそういったものを自作していたりするんでしょうか?

むしろ、そんなところに拘るくらいならUnityや他のゲーム製作ツールについて
勉強してた方がマシでしょうか?

386 名前:デフォルトの名無しさん mailto:sage [2014/02/28(金) 22:11:10.98 .net]
まず、自作するまでもなく
一般的なものならinport/exportで定番どころのフォーマットは対応してるので困ることはないのではないかな
対応してないとしてもconverterを書くだけだから簡単に書ける

387 名前:デフォルトの名無しさん mailto:sage [2014/02/28(金) 22:15:28.12 .net]
スクリプトの良さを生かそうという発想が生まれる時点で
既に道を踏み外している

ゲームを完成させたいなら計画を立て直せ
そうでないなら合理性なんか考えず好きなように楽しめ

388 名前:デフォルトの名無しさん mailto:sage [2014/02/28(金) 22:17:33.95 .net]
スペルミスってるな
まあいいや

389 名前:デフォルトの名無しさん mailto:sage [2014/02/28(金) 22:31:38.48 .net]
>>383
既存のモノで、マップエディタならJsonあたりで出力できるものや、
データ入力ならCSVエディタや、既存DB用ファイルを出力するエディタあたりでしょうか?

>>384
確かに、そうですね・・・
まだ数回しかチャレンジしてないのですが、どうしても毎回、
「プログラムで直書きしたのと変わらんやんけ!」か、
「CSVで十分やんけ!」という状況ばかりになってしまって、
そこから一歩ステップアップできない感じなのです



390 名前:デフォルトの名無しさん mailto:sage [2014/02/28(金) 23:01:28.08 .net]
AngelScripterさんがいたら教えてほしい
RegisterObjectType に asOBJ_POD を渡すとコンストラクタ、
代入演算子その他諸々が自動生成されるって話だけど、
asOBJ_POD | asOBJ_APP_CLASS_CONSTRUCTOR みたいにして
コンストラクタだけ独自拡張する使い方は仕様的にできるようになってるの?

391 名前:デフォルトの名無しさん mailto:sage [2014/03/01(土) 07:44:24.61 .net]
>>386
目的と手段が逆になってんじゃないの?

392 名前:デフォルトの名無しさん mailto:sage [2014/03/01(土) 10:43:43.37 .net]
>>387
普通にコンストラクタも登録できるから
公式リファレンス見ろ

393 名前:デフォルトの名無しさん mailto:sage [2014/03/01(土) 11:25:09.70 .net]
Lua自体はC++を使ってなくて「Cで十分やんけ!」という状況なので
もしC++を使ってる人がLuaは不要だと言えば、C++の方が不要だと言い返される気がする

394 名前:デフォルトの名無しさん mailto:sage [2014/03/01(土) 12:09:22.88 .net]
>>382
コンシューマだったり、プログラマ以外の作業員がいたり
アドベンチャーゲームみたいなジャンルだったらメリットが大きいと思うけど
個人製作だったら別に無理して活かす必要は無いような

395 名前:デフォルトの名無しさん mailto:sage [2014/03/01(土) 13:21:37.93 .net]
スクリプト使えば最コンパイルなしで高速に微調整ができるっていうけど
個人製作だとスクリプトファイルとかその他リソースを再読み込みする時間の方が
長かったりするのは俺だけ?てかみんなはスクリプトファイルどれくらい分割してる?

396 名前:デフォルトの名無しさん mailto:sage [2014/03/01(土) 15:07:27.08 .net]
>>392
ゲームは再起動するんだから、
他のリソースふくめたロード時間は
スクリプトつかっててもつかってなくても大差ないかと

スクリプト単体のロード時間は誤差の範囲だよ。確実にコンパイル&リンク時間のが長い

397 名前:デフォルトの名無しさん mailto:sage [2014/03/01(土) 15:08:56.52 .net]
LOVE使っててそれは思った

398 名前:デフォルトの名無しさん mailto:sage [2014/03/01(土) 15:29:29.09 .net]
>>392
修正したファイルだけ再読み込みできるようにしておくといい感じ

399 名前:デフォルトの名無しさん mailto:sage [2014/03/01(土) 15:29:47.45 .net]
>>393
392じゃないけど
どのリソースを読み込むかスクリプトで指示されているから
スクリプトの再読み込みはその他リソースの再読み込みとほぼ同義で
時間がかかるって話じゃないの

だから
スクリプト単体のロード時間が誤差の範囲なのは自明で
それをコンパイル&リンク時間と比較するのはこの文脈ではナンセンス



400 名前:デフォルトの名無しさん mailto:sage [2014/03/01(土) 15:47:17.62 .net]
>>396
スクリプトがコンパイル時間がかからなくて便利って話は、そもそもその単純比較の場合の話だから、そのメリットが得られてないならそれは作りが悪いってことだよね。結局のところ

401 名前:デフォルトの名無しさん mailto:sage [2014/03/01(土) 15:47:27.35 .net]
>>395
それを実現するためには副作用を減らす設計が重要で
とりあえずスクリプトで実装して
重い処理はホスト言語で実装しなおす
みたいなボトムアップな作り方してると困っちゃうんだよね
というか困った

402 名前:デフォルトの名無しさん mailto:sage [2014/03/01(土) 15:57:47.84 .net]
>>397
それは「スクリプトがコンパイル時間がかからなくて便利」ってのが
真である前提の結論だろ
実際は単なる謳い文句だよねって話じゃないの?

てかスクリプト言語使う動機なんて一つじゃないんだから
そんなことで作りの良し悪し評価されたくないよな

403 名前:デフォルトの名無しさん mailto:sage [2014/03/01(土) 16:47:42.14 .net]
>>389
リファレンス見てもPODで自動生成されたコンストラクタに
独自拡張のコンストラクタが上書きされるとか書いてなくね?


スレの趣旨には反するけどAlcantarea使えば諸々の問題解決できるよね。
実行中のプログラムの関数を再コンパイルして差し替えてくれるVSのアドイン
ttp://alcantarea-cpp.com/

404 名前:デフォルトの名無しさん mailto:sage [2014/03/01(土) 16:57:41.84 .net]
>>398
副作用を減らすんじゃなくて寿命を減らせばいいと思う
修正前の古いデータが生き残らないようにする

405 名前:デフォルトの名無しさん mailto:sage [2014/03/01(土) 17:09:03.44 .net]
>>399
良い悪いって言葉が気に入らないなら、
設計思想が合ってない、ってことでひとつ

宝の持ち腐れにしてまで使う意味はないな

406 名前:デフォルトの名無しさん mailto:sage [2014/03/05(水) 17:03:30.70 .net]
今から始めようと思うんですけど
C++で使えますか?
Cでの導入方法を教えて下さい

407 名前:デフォルトの名無しさん mailto:sage [2014/03/05(水) 23:29:20.69 .net]
>>403
冷やし中華を?

408 名前:デフォルトの名無しさん mailto:sage [2014/03/06(木) 03:15:58.29 .net]
>>403
何を?

409 名前:デフォルトの名無しさん mailto:sage [2014/03/06(木) 04:44:07.89 .net]
get started からダウンロードして
インクルードファイルとライブラリファイルを設定して、プロジェクトのプロパティで追加の依存ファイルにlua5.1.libを追加すればいいんですね。

後、クラスのメンバ関数をLuaから使う方法が理解できない
local 変数に関数を代入するの?



410 名前:デフォルトの名無しさん mailto:sage [2014/03/06(木) 06:38:39.31 .net]
lua では C でいうところの関数名=変数名となってるから大体合ってる

411 名前:デフォルトの名無しさん mailto:sage [2014/03/20(木) 17:29:02.65 ID:Moc5bE7b.net]
AngelScript|Д`)<AngelScript2.28.1記念カキコ

412 名前:デフォルトの名無しさん mailto:sage [2014/03/20(木) 17:29:20.35 ID:Moc5bE7b.net]
ごめん2.28.2だ

413 名前:デフォルトの名無しさん mailto:sage [2014/03/20(木) 17:38:01.94 ID:cnVVzBAE.net]
        (´\r-、     ┼         +     /`/`)    +
     ┼   (\. \!              *     // ,/)  *
  +     * (ヽ、   \ +  *          /   /)   +
      ⊂ニ      )        *   +  (     ニ⊃
  *  +  ⊂、     (   ∩___∩   ノ     ⊃   +  *
         (/(/   ヽ  | ノ     ヽ /    、)ヽ)  ┼
    +        (/     ∨  ●   ●レ /⌒) 、)ヽ)
     *       (/'   |   ( _●_) ミ'  /、)、)´       +
         +    (/'ヽ 彡、   |∪| ノ /     AngelScript!!
     +            / __ヽノ  /  *      +
       ┼        (___) /      +
               /     /
               (_ ⌒丶..
                | /ヽ }.
                  し  ))
                    ソ  トントン

414 名前:デフォルトの名無しさん mailto:sage [2014/04/06(日) 22:57:21.17 ID:OYl5erDz.net]
cocos2d-x3.0 Luaバインディング使ってるんだけど
コード補完が出来るオススメエディタありませんか?
cocos2d-x2.x 時代は tolua++のpkgファイルあったから
Eclipseプラグインでコード補完出来たけど
3.x は探してもpkgみつからないの・・

415 名前:デフォルトの名無しさん mailto:sage [2014/04/07(月) 00:09:17.03 ID:wNleVxO3.net]
Squirrel 3.0.6 stable

416 名前:デフォルトの名無しさん mailto:sage [2014/04/08(火) 23:44:03.23 ID:tbmdAmxp.net]
>>411
intypeってテキストエディタではダメ?

417 名前:デフォルトの名無しさん mailto:sage [2014/05/11(日) 11:14:07.30 ID:FPHyRsPY.net]
>>414
ない

418 名前:デフォルトの名無しさん mailto:sage [2014/05/11(日) 12:58:32.06 ID:ahIxA60o.net]
作りかけならあるみたい

https://github.com/bobsayshilol/luajit-decomp
https://github.com/NightNord/ljd

419 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 21:27:31.11 ID:Jr9LnoLr.net]
Lua って 5.3 で整数型が導入されるのか。
整数型なんていらんかったんや! というこれまでの解説は間違いだったのか?
それとも、ゲームだけでなく、カーネルに近いところでも使われ始めたからなのか?



420 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 22:45:02.79 ID:rRKhLlHV.net]
内部では結構前からあった気がする
テーブルの整数添え字の要素を特殊化したりとかその関係で
記憶違いだったらごめん

421 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 23:06:44.25 ID:fjbQFkov.net]
それはインデックスとして使われるときに整数に変換されるだけで、値として整数を保持してるわけじゃないよ
満を持して登場したと思ったらさっそくdeprecatedにされたbit32ライブラリさんかわいそう

422 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 23:22:03.10 ID:fjbQFkov.net]
ああひょっとして特殊化ってのはテーブルのarray partのことを言ってるのかな

423 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 01:10:36.92 ID:1hVKdVzY.net]
>>416
NetBSDはカーネル内部でLua使えるらしいぞ
それの関係かどうかまでは知らんが
ttp://news.mynavi.jp/news/2013/10/21/016/

424 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 09:56:07.37 ID:htOfSQyE.net]
       //
     /  /   パカッ
     //⌒)∩__∩
    /.| .| ノ     ヽ
    / | |  ●   ● |     
   /  | 彡  ( _●_) ミ Lua!!
   /  | ヽ  |∪|  /_
  // │   ヽノ  \/
  " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ

425 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 06:43:02.86 ID:cy7ef2kl.net]
整数型導入でさらに速くなるみたいね

426 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 14:03:13.72 ID:HDWDipXQ.net]
eLuaという、マイクロコントローラ向けのさらに軽量なLuaもあるらしい
www.eluaproject.net

427 名前:デフォルトの名無しさん mailto:sage [2014/06/08(日) 18:05:42.02 ID:3LWaPBPW.net]
Xtalってもう更新してないのかな
GoogleCodeのは2008年で止まってるし

428 名前:デフォルトの名無しさん mailto:sage [2014/06/08(日) 20:03:09.73 ID:RRJgBzCO.net]
>>424
ttps://code.google.com/p/xtal-language/source/list
履歴見たら2013年11月13日が最終更新日だけど、どこ見てるんだ?

429 名前:デフォルトの名無しさん mailto:sage [2014/06/08(日) 22:43:44.01 ID:3LWaPBPW.net]
>>425
本当だ・・・
Downloadsのパッケージしか見てませんでした
ごめんなさい



430 名前:デフォルトの名無しさん mailto:sage [2014/06/11(水) 12:26:03.22 ID:nbPEp42H.net]
AngelScript|Д`)<AngelScript2.29.0記念カキコ

431 名前:デフォルトの名無しさん mailto:sage [2014/06/11(水) 16:57:16.91 ID:mGpoQXd/.net]
        (´\r-、     ┼         +     /`/`)    +
     ┼   (\. \!              *     // ,/)  *
  +     * (ヽ、   \ +  *          /   /)   +
      ⊂ニ      )        *   +  (     ニ⊃
  *  +  ⊂、     (   ∩___∩   ノ     ⊃   +  *
         (/(/   ヽ  | ノ     ヽ /    、)ヽ)  ┼
    +        (/     ∨  ●   ●レ /⌒) 、)ヽ)
     *       (/'   |   ( _●_) ミ'  /、)、)´       +
         +    (/'ヽ 彡、   |∪| ノ /     AngelScript!!
     +            / __ヽノ  /  *      +
       ┼        (___) /      +
               /     /
               (_ ⌒丶..
                | /ヽ }.
                  し  ))
                    ソ  トントン

432 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 01:32:25.81 ID:wnpllGmU.net]
C#コンソールアプリにLuaを組み込みたくてNLuaライブラリを使おうと考えてるんですが、
NLuaをSJISに対応させる方法はないでしょうか?

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

dllのビルドさえできれば、Luaの字句解析部(llex.c)へのパッチの当て方は分かっているんですが…

433 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 13:05:43.69 ID:CumbCiDK.net]
>>429
https://github.com/NLua/lua
これでしょ?
cmake->buildするだけでは?

434 名前:デフォルトの名無しさん mailto:sage [2014/06/20(金) 17:24:54.94 ID:N64lKT9J.net]
ありがとう!
ビルドできました。
https://github.com/NLua/NLuaしか見てなかった・・・

435 名前:デフォルトの名無しさん mailto:sage [2014/06/20(金) 17:32:59.29 ID:TUABdWdO.net]
リンクが貼られてるから
git clone https://github.com/NLua/NLua.git
cd NLua
git submodule update --init --recursive
で入るんだけどね

436 名前:デフォルトの名無しさん mailto:sage [2014/06/29(日) 14:59:39.60 ID:SaBki4ZJ.net]
C++プログラムへのmrubyの組み込みで教えてください。
mrubyのprint出力をホスト側で受けるにはmrb_define_methodで"__printstr__"に
関数を設定すればいいと聞いたのでそのようにしているのですが、標準出力と
標準エラー出力の区別ってできないんでしょうか?

437 名前:デフォルトの名無しさん mailto:sage [2014/06/30(月) 15:10:51.45 ID:02CSsGE4.net]
>>433
mruby-print/src/print.c 内の printstr で stdout とハードコーディングされてるので、stderr に出したいときはここを書き換えるか、新たに stderr に出すメソッドを追加すればいいのでは?

438 名前:デフォルトの名無しさん mailto:sage [2014/06/30(月) 23:03:22.29 ID:FuMPZ5KZ.net]
ありがとうございます。
printstrのフックでは受け取れないメッセージがあったのでエラー出力には別のフックがあるのかと
思ったんですが、ソース見てみたらそこかしこでfwrite使って直接出力してますね。
確かにこれだと自分でソースいじらないとならないですね。

439 名前:デフォルトの名無しさん mailto:sage [2014/07/02(水) 16:59:10.88 ID:JkuzDLMY.net]
最近の lua とか squirrel とか python の実行速度を比較したページってないかね?
4、5年ぐらい前の奴なら英語サイトの奴があるけど、最近はどうなのかなと思って。



440 名前:デフォルトの名無しさん mailto:sage [2014/07/02(水) 21:40:33.67 ID:z0TOEu0h.net]
速さはjit環境の有無で大分違うよね
pythonだとpypy?

luajitは今後5.3移行にちゃんと追従してくれるか心配だね。
組み込み用としてのメリットはluaには他にもいろいろあるだろうけど
jit環境が追従していかないとmrubyあたりに追い抜かれる?

441 名前:デフォルトの名無しさん mailto:sage [2014/07/03(木) 07:39:27.54 ID:FjTkZ2C1.net]
jit関係ないっしょ

442 名前:デフォルトの名無しさん mailto:sage [2014/07/05(土) 14:29:38.02 ID:MeYLeon+.net]
AngelScript|Д`)<AngelScriptJITは2.27に対応してるな

443 名前:デフォルトの名無しさん mailto:sage [2014/07/05(土) 21:54:08.81 ID:K5ikJkFl.net]
>>439
ASがのけ者にされてたからちょっと安心した

444 名前:デフォルトの名無しさん mailto:sage [2014/07/06(日) 06:19:08.04 ID:xkFVsdDO.net]
angelscript今までなぜか無視してたけど言語仕様見てきたら結構よさそうだな
これコンパイル時に全部型チェックしてくれるの?

445 名前:デフォルトの名無しさん mailto:sage [2014/07/06(日) 12:38:13.11 ID:uyyLiQuX.net]
angelscriptの最大の問題はこれならC++直接書くのとかわらなくね?
という疑問が拭えないことだ

446 名前:デフォルトの名無しさん mailto:sage [2014/07/07(月) 01:12:10.12 ID:KmCWtuSa.net]
>>442
どうしてもスクリプトにしないといけない箇所があったときは
慣れ親しんだC++に近い文法でスクリプト書けるってのは凄い利点だよ

447 名前:デフォルトの名無しさん mailto:sage [2014/07/07(月) 01:43:37.99 ID:PzOLkwtR.net]
そもそも「どうしてもスクリプトにしないといけない箇所」なんてものは
思い込み以外では存在しない訳で

448 名前:デフォルトの名無しさん mailto:sage [2014/07/07(月) 01:49:05.61 ID:X/HL5rf/.net]
(゚Д゚) ハア??

449 名前:デフォルトの名無しさん mailto:sage [2014/07/07(月) 02:26:29.4 ]
[ここ壊れてます]



450 名前:2 ID:amtUtvKD.net mailto: >>442
組み込みやすくもないし
書きやすくもないんだよね
しいて言えば
スクリプタを管理する立場の人にとっては
手間が減り楽が出来るのかもしれないね

現実社会でもよく見られる構図だけど
奴隷頭ってやつだな
[]
[ここ壊れてます]

451 名前:デフォルトの名無しさん mailto:sage [2014/07/07(月) 07:47:10.67 ID:3MsBFfON.net]
その点Luaはプログラマではない者が使いやすいことを理念としているからな。
ただし英語程度はできることが前提だが。

452 名前:デフォルトの名無しさん mailto:sage [2014/07/07(月) 09:42:19.00 ID:n/CZjLr0.net]
[要出典]

453 名前:デフォルトの名無しさん mailto:sage [2014/07/07(月) 10:01:11.88 ID:kMcKP8+6.net]
実行時コンパイルできるC++って考えるといろいろと悪用法ありそうなんだけどな

454 名前:デフォルトの名無しさん mailto:sage [2014/07/07(月) 10:23:10.27 ID:KmCWtuSa.net]
>>444
C++で作ったMOD前提のM.U.G.E.Nみたいな2Dゲーム
キャラクターの描画・行動全て自由に作れるようにするとしたら
スクリプトじゃなくて何にすればいい?

455 名前:デフォルトの名無しさん mailto:sage [2014/07/07(月) 11:08:37.90 ID:m9tAIraA.net]
「C++でつくったMOD前提」ならそれこそスクリプトでなくてもいいのでは
制御のインターフェースが外部に全部公開されてるってことだよね

456 名前:デフォルトの名無しさん mailto:sage [2014/07/07(月) 22:51:51.30 ID:KmCWtuSa.net]
>>451
書き方が悪かったな
MOD前提のC++で作った・・・だわ

457 名前:デフォルトの名無しさん mailto:sage [2014/07/08(火) 14:33:11.22 ID:x77uNS3E.net]
AngelScript|Д`)<AngelScriptは組み込み簡単だぞ。
ヘッダ1個インクルードしてライブラリファイル1個リンクするだけでOK。

458 名前:デフォルトの名無しさん mailto:sage [2014/07/08(火) 15:54:28.60 ID:t9t2Zfam.net]
AngelScriptはEnvironment-Module-Contextっていう構成がすごくわかりやすくて好きになったな

459 名前:デフォルトの名無しさん mailto:sage [2014/07/08(火) 15:56:54.46 ID:t9t2Zfam.net]
まちがえた
×Environment → ○Engine



460 名前:デフォルトの名無しさん mailto:sage [2014/07/08(火) 23:53:13.46 ID:jARkErFj.net]
C++が好きな人にとってはいいのかもしれないが
C++に特に思い入れのない人にとっては
何でC++の持つ恩恵が受けられる訳でもないスクリプトにまで
C++の流儀を持ち込まねばならんのだ
という感情があるということを
AngelScript推進派は意識した方がいいと思う

AngelScriptに懐疑的な人に対して
>>443みたいなアピールは無意味どころか逆撫でしてるんじゃない?

461 名前:デフォルトの名無しさん mailto:sage [2014/07/08(火) 23:55:23.17 ID:jARkErFj.net]
勿論AngelScriptの有用性を否定してる訳じゃなくて
人にモノを薦めるときは相手の考えも尊重してね
という話






[ 続きを読む ] / [ 携帯版 ]

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

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