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

662 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 17:06:57 ]
jkBindってどこにあるの?

663 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 17:59:28 ]
釣りか? ググれ。

664 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 18:08:12 ]
>>645-647
ありがとうございます。
教えてもらったサイトを見て実装してみました。大変助かりました。

665 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 18:14:53 ]
jk-pro.info/en/projects/jkbind/

2006年で更新止まっているけど
ここでいいのかな?

666 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 20:35:55 ]
   ∧_∧  / ̄ ̄ ̄ ̄
  ( ・∀・) <  Lua!!
⊂/  9)  \____
q(   /
  >  >



667 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 21:12:25 ]
>luaやsquirrelよりもgauche, ypsilon, moshのような国産schemeの方が速いらしいぜ
「らしい」とかウゼェから死ねよ、クズ。
各言語のベンチマークに使ったコードを書き込んでから話せや。

668 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 21:19:59 ]
仮にそうだとしても
schemeなんか速くたってどうしようもないじゃないか

669 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 22:16:56 ]
Schemeは処理系を作るのは容易だが、それでプログラミングするのを
嫌うプログラマがかなり多い。非プログラマにも好まない言語だ。
昔を懐かしみ知識を得るだけしか役にたたないというのが常識。

その常識を無視して新規プロジェクトに導入しようとするのは無能マネー
ジャで、他にも間違いを多く侵してる。

学生が自分の勉強用に自作するにはとても良い言語とは思うが。

670 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 22:22:00 ]
Schemeは学生のとき
やらされたっきりだな



671 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 22:35:22 ]
Emacs使ってた時にelisp触ってたぐらいだなぁ。
この前エディタスレに行ってみたら、
「○○という機能があるエディタありませんか?」
「emacsなら出来る。Lispで自分で作ればいいよ」

と言う流れを未だにやっていて笑った。

672 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 23:03:25 ]
良い言語だと思うけど、学ぶのにコストがかかるから導入しにくい。

673 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 00:20:44 ]
>>618
いくつか齧ってたらなんとでもなるよ。 似てる概念や要素が多いから。


674 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 00:44:48 ]
|Д`)<AngelScriptも忘れないであげてください
|ミサッ

675 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 00:47:10 ]
//
/ / パカッ
//⌒)∩__∩
/.| .| ノ ヽ
/ | | ● ● |
/ | 彡 ( _●_) ミ AngelScript!!
/ | ヽ |∪| /_
// │ ヽノ \/
" ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ

676 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 02:44:06 ]
スクリプト言語による効率的ゲーム開発 C/C++へのLua組込み実践という書籍の
P.43,44にあるスタンドアロンのLuaを実行してテキストファイル(hello.lua)に
書いたスクリプトを実行する(中身はprint("This is hello.lua"))部分を試しているのですが
Windowsのコマンドプロンプト上でhello.luaと同じディレクトリに移動し「lua5.1 hello.lua」と入力する部分がうまくいきません
コマンドプロンプト上でhello.luaと同じディレクトリに移動という意味が理解できず
勝手にただ単にパスを指定して実行すると解釈したのですが(C:\------\lua5.1 hello.lua)
stdin:1: '<name>' expected near '\'と出てきて実行できませんでした
stdin:1: '<name>' expected near '\'のキーワードで検索しても期待した内容が出てきませんでした
無知な私にご教授いただければ幸いです

677 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 02:47:02 ]
www.google.co.jp/search?q=%83R%83}%83%93%83h%83v%83%8D%83%93%83v%83g+%83f%83B%83%8C%83N%83g%83%8A+%88%DA%93%AE
無知な上に努力不足です

678 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 02:53:10 ]
もはやDOSコマンドも知らないプログラマが存在する時代なんだな
そんなんでよくプログラム書けるな

679 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 02:58:19 ]
教えて頂きありがとうございました
「コマンドプロンプト 同じディレクトリ」では検索したのですが検索方法も悪かったようです

680 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 03:00:12 ]
前の職場にC++,JavaがめちゃくちゃできるのにDOSコマンド知らん人がいたわ
使う機会ないと覚えないもんだなと思った



681 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 03:05:24 ]
DOSコマンド知っているけど
使う機会が無くなったな

682 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 03:25:52 ]
ディレクトリの移動はできるようになったのですがLua起動後にhello.luaを実行しようとするとまた
stdin:1: '<name>' expected near '\'と表示されます
「stdin:1: '<name>' expected near '\'」はどのような意味を表しているのでしょうか?

683 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 03:28:44 ]
だから言ってるだろ無知な上に努力不足だって
お前はそうやって完成するまでずっと人に聞きつづけるのかっつーの
本でわからない事があるなら著者に聞けよ

684 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 03:36:52 ]
著者に聞いたら完成するまで人に聞き続けるだろwwww
試しに俺もそのワードでぐぐってみたが多分わからんと思う
わざわざここに書き込んでるのは反応が早いからって理由だろうに
まあ俺はドSだから教えないけどな

685 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 03:37:17 ]
不快にさせてすみません
著者にわざわざ連絡を取って聞くほどの問題ではないのだろうかと思い書き込みました

686 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 03:51:25 ]
Hello,World!が出来ないのを切り捨てるのは性格の悪さがうかがえるな
stdin〜はようわからんが俺も同じ内容で引っかかったから教えると
lua5.1を起動させずに(重要).exeと.luaを同じディレクトリに置いてlua5.1 hello.luaでいける
これは初歩の初歩からやってんのに重要な事書かない筆者が悪いわ
これさえわかりゃ後はスムーズに進むぜ

687 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 03:54:13 ]
ていうか
>Windowsのコマンドプロンプト上でhello.luaと同じディレクトリに移動し「lua5.1 hello.lua」と入力する部分がうまくいきません
って自分で書いてるのに
>Lua起動後にhello.luaを実行しようとすると
やってること違うじゃんよ。これぐらいさすがに気付いて欲しいよ

688 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 03:58:08 ]
DOSコマンド使った事ないならそんなもんだ
.lua形式のファイル開くんだからlua起動してないとって思ったんじゃね

689 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 04:51:55 ]
           ∩_
           〈〈〈 ヽ
          〈⊃  }
   ∩___∩  |   |
   | ノ      ヽ !   !
  /  ●   ● |  /
  |    ( _●_)  ミ/ Lua!!
 彡、   |∪|  /
/ __  ヽノ /
(___)   


690 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 05:12:51 ]
           ∩_
           〈〈〈 ヽ
          〈⊃  }
   ∩___∩  |   |
   | ノ      ヽ !   !
  /  ●   ● |  /
  |    ( _●_)  ミ/ Lua まピョーん☆
 彡、   |∪|  /
/ __  ヽノ /
(___)   




691 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 05:18:32 ]
>>685
たぶんもう少し読んだら出てくるtolua++の解説箇所あたりでも
困ることになる予感がする。
でも苦労したり嫌な思いして覚えたことほど忘れにくいのでがんがれ。

ただその本にはWikiにサポート用のForumあるので、質問とかは
あちらに書いた方がいい気はする。

692 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 07:47:20 ]
まあ、ypsilon作った会社は社員一人しかいないからなw

693 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 17:21:06 ]
コマンドラインなんて使わないな。
バッチファイル作るのに少し教えて貰ったけど全然使う機会無いわ。
便利な世の中になったお陰で考える事が減って美味しいです^q^

694 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 17:30:42 ]
>>693
こういう奴がHDD全消去するようなインストーラー作るんだろうな

695 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 18:06:17 ]
ぎすぎすした流れをぶった切って申し訳ないが、
luaのイテレータを使用したfor文に渡す引数は
イマイチなじめない。
C++/STLのbegin/endになれた身としては最初に渡した
"_var"がfor内ブロックに渡されず、_f(_s,_var)の戻り値が
渡される所とか違和感を感じる。
他の言語のイテレータになれた人だとそうでもない?



696 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 19:02:00 ]
じゃあC++使ってればいいじゃん

697 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 21:08:32 ]
今時、コマンドラインも使わなきゃLINUX鯖も立てられない奴には仕事は来ないわなw

698 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 21:35:39 ]
はいはい挑発伝説挑発伝説

699 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 22:27:30 ]
俺なんか家も学校もUNIXだったし会社はいるまでWindows触ったこともなかったからなぁ。
DOS窓?ぷwなにそれ、って言ったら白い目で見られたよ。
Windowsが全てと思ってる奴もいるし世の中間違ってる。

700 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 22:43:01 ]
PowerShellはどうよ?



701 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 22:44:34 ]
>>695
Luaのことはほとんど知らないんだけど、w
組み込みでは、
・iteratorインスタンスをいちいち生成したくない。
・クロージャやジェネレータを扱いたくない。
という意図があると思う。
特に_s。クロージャ、ジェネレータ相当のことを自前で実装しろと。
単純なイタレータばかりなら、_varだけでいいけど。
そのトレードオフが_f(_s,_var)だと思う。


702 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 23:13:50 ]
先週toLua++更新されてるね。

703 名前:695 mailto:sage [2009/02/22(日) 23:21:55 ]
>>701
ごめん。理解できないで詳しくお願い。

ちなみに、私が求めていたのはこんな感じ
do
 local _f, _s, var_1,...,var_n = explist
 while var_1 do
  block
  var_1, ... , var_n = _f(_s, var_1)
 end
end

たとえばluaのtableでリンクリスト(nil終端)を操作する
iteratorを作るとき、上のだと、
 _f=function(_s,_var) return _var.next end
 _s=nil
 var_1,...,var_n = top , ....
でいけると思うけど、オリジナルのLua版だと
 _f=function(_s,_var) if _var then return _var.next,... else return _s,... end
 _s=top
 _var=nil
とかいまいちすっきりしない。(特に_varの位置付け)
リンクリストなら無理してforを使用しなくても出来るけどね。

for文がああなったのはLuaの文法との整合性の問題?


704 名前:695 mailto:sage [2009/02/22(日) 23:23:50 ]
luabindも0.8にあがってる。

705 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 23:58:15 ]
C++しか知らんからそうなる
このイテレータの形は関数型言語やれば自然と判るよ

706 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 01:57:47 ]
なんでLua以外の言語人気ないんだろう?

707 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 02:16:24 ]
Squirrelの時代が来る!
…と信じている……

708 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 08:13:23 ]
スクエニが使った実績もあるしな!
俺も今度スクリプト使うときはSquirrelでいくぜ!



何か作る…暇さえあればな…

709 名前:デフォルトの名無しさん [2009/02/23(月) 08:46:39 ]
www.ferzkopp.net/~aschiffler/Personal/FunStuff/Pictures/Squirrel.html

710 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 09:32:18 ]
luaforge.net/
squirrelforge.com/



711 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 11:36:53 ]
というか、普通にPC向け商用ゲームで採用予定なんだが>Squirrel
……って、他に居ないのか。居ないのか!

712 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 12:06:37 ]
ここにいるよ


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言語で今更、自前の可変長引数関数を
(ログ出力等以外の目的で)で整備する利点は薄いので、
正直に他の方法による実装を考えた方がいいと思うけどな。






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

前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