[表示 : 全て 最新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

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