トップページtech
981コメント297KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2011/03/30(水) 01:00:58.93
LuaやSquirrelやAngelScriptなどアプリケーションへの組み込み用途で
使われるプログラミング言語についてのスレッドです
まとめwiki(なにか質問する前に必ずみること!)
http://wikiwiki.jp/lua/

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

■前スレ
【Lua】組み込み系言語総合 その3【Squirrel】
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/
その2 http://pc8.2ch.net/test/read.cgi/tech/1063711237/
その1 http://pc5.2ch.net/tech/kako/1034/10341/1034182349.html
0685デフォルトの名無しさん2011/09/01(木) 00:41:00.58
__addに指定したメソッドの中で判別できるでしょ
0686デフォルトの名無しさん2011/09/04(日) 11:49:09.40
こういう答え方するオタクの事
前からキモイと思っていたけど病気だったんだな
ttp://livedoor.blogimg.jp/hamusoku/imgs/1/c/1cd6fc3e.jpg

「俺ごときが知ってる事を答えれない奴はどんなに見下してもいい」
とか顔を真っ赤にして反論してくれよw
0687デフォルトの名無しさん2011/09/04(日) 12:50:40.32
Firefox 9、「型推論エンジン」をついに統合 -JavaScriptさらに高速化
http://s.journal.mycom.co.jp/news/2011/09/01/079/

効果は言語によって違うのだろうけど、LuaJITなどに移植し易い機能だったら、
patch対応出来るのだろうか
0688デフォルトの名無しさん2011/09/04(日) 13:20:09.35
http://www.extremetech.com/computing/94532-firefox-9-javascript-performance-improved-by-20-30-with-type-inference
詳細項目みると単純ループや数値計算まわりで、LuaJITの最適化済みの得意分野になるので、あんまり期待できないかも。
0689デフォルトの名無しさん2011/09/04(日) 16:12:14.33
>>686

482 :名無しさん@初回限定:2007/09/10(月) 02:39:05 ID:+7lLhCDw0

2chで調べ物をしたい時は「教えてください」って書いても
なかなか教えてもらえない。

そういう時は、知ったかぶり風に間違ったことを自信満々に書く。
そうすると、ものすごい勢いでツッコミを入れてもらえる。
0690デフォルトの名無しさん2011/09/04(日) 21:07:22.31
アスペ診断か
この板でもっと流行らせるべき
0691デフォルトの名無しさん2011/09/06(火) 00:38:09.21
Javascriptかー。最近Node.jsが熱いらしいね
webGLもあるしどうなるかな
0692デフォルトの名無しさん2011/09/07(水) 20:36:46.82
LuaでLuacのバイトコードコンパイルでもJITコンパイルでもなくて
普通にバイナリにコンパイルしてDLLかなんかにするっていう
そんな魔法のようなことできませんか?
0693デフォルトの名無しさん2011/09/07(水) 21:28:07.12
普通に C とかで書くかプログラマ辞めろ
0694デフォルトの名無しさん2011/09/08(木) 09:02:27.07
>>692
ネイティブバイナリにするのが重要なのか、DLLにするのが重要なのか、
どちらなのかでアプローチが変わると思う。
0695デフォルトの名無しさん2011/09/08(木) 20:57:31.40
>>693
ひどい…そんな風に言わなくたっていいじゃない!

>>694
配布形式は全部バイナリで、
開発中はVMにDLL読み込ませて呼び出し〜みたいにできたらいいなぁ。
ということで両方知ってたら教えてください。
0696デフォルトの名無しさん2011/09/08(木) 21:04:45.62
llvm-luaとかで、バイナリコード吐けるのかな?
0697デフォルトの名無しさん2011/09/08(木) 21:40:20.80
周辺のモジュールも含めて全体をコンパイルするのはJITでないと難しい気がする。
単体でコンパイルして意味があるのかよくわからん。
0698デフォルトの名無しさん2011/09/08(木) 22:48:17.38
>>695
DLLにLuaを埋め込めばいいのでは?
0699デフォルトの名無しさん2011/09/09(金) 09:50:27.31
>>695
ネイティブの速度が必須とかじゃなきゃ、698の言うとおり
Luaを丸ごとDLLにすれば良いだけじゃ。
配布形式は全部バイナリでというのは、スクリプトが別ファイルになってるのが
嫌なのだろうか?
もしそうならスクリプトのソースをバイナリに埋め込めばいい。
07006952011/09/09(金) 22:00:26.22
>ネイティブの速度
…現状で遅いんで、ちょっとでも早くならないかなと思って聞きました…。

0701デフォルトの名無しさん2011/09/09(金) 22:57:30.61
>>700
どの部分が遅いのかテストしてみたら?
なんかよう分からんけどLuaは遅いという理由だと
全部Cで書けとしか言えない
0702デフォルトの名無しさん2011/09/10(土) 00:10:13.57
LuaJIT使ってるかい?
0703デフォルトの名無しさん2011/09/10(土) 06:44:17.73
スクリプトは所詮スクリプト。
適材適所。
07046952011/09/10(土) 07:21:42.29
JITより早くしたいから最適化コンパイラでもないかなぁと思って聞いたんですが、
ムリポ ナイポですかね。理解した。
0705デフォルトの名無しさん2011/09/10(土) 10:19:46.79
全部Cで書くのは無理じゃないが、コスパを考えると人間は怠惰になる。
0706デフォルトの名無しさん2011/09/10(土) 10:48:28.84
Basic並にメジャーになればそのうちコンパイラを作ろうとかいう奇特な人が現れるかもね。
0707デフォルトの名無しさん2011/09/10(土) 13:01:35.78
コンパイラ作るよりコード変換機作るほうが楽だし早いよ
0708デフォルトの名無しさん2011/09/10(土) 14:18:37.55
JITより速くしたいとか夢見てるんだから、コード変換機じゃまだ足りないなんじゃね?
07096842011/09/14(水) 22:00:02.88
あの>>684の質問に誰か答えてくださる方いないでしょうか?
>>685で言われてる通りの質問なのでそのメソッドの中で判別する方法を聞きたいのですが。
0710デフォルトの名無しさん2011/09/14(水) 22:48:38.64
>>709
もし__addがXのものでもYのものでもない普通の関数だったら、
「__addは誰のものか」という質問は存在しない。
だから質問が無視されているのだと思います。
07116842011/09/14(水) 23:39:19.08
>>710
普通の関数というのがよくわかりませんが、
__add=function(operand1,operand2) … end
という要素が入ったメタテーブルを使ってます。
このメタテーブルをXとY両方にsetmetatableしているので、
XのものでもYのものでも無く共用、というか、
XとYは同じクラスのオブジェクトです。
0712デフォルトの名無しさん2011/09/14(水) 23:57:20.68
>>711
一例として
X = { 1,2,3,4,tonumber=function(self) ret=1; for i,v in ipairs(self) do ret = ret * v end; return ret end}
Y = { 1,2,3,4,tonumber=function(self) ret=0; for i,v in ipairs(self) do ret = ret + v end; return ret end}
mt = {__add=function(op1,op2) return op1:tonumber() + op2:tonumber() end}
setmetatable(X,mt); setmetatable(Y,mt)
print(X+Y); print(Y+X)
0713デフォルトの名無しさん2011/09/15(木) 15:40:50.46
>>711
X+YとY+Xをなぜ区別したいのかわからないので
適切な回答が思いつかない。

ひょっとしてX=X+YのときXの束縛を変更するんじゃないくて、
Xに束縛されているオブジェクトに副作用を起こしたいとかか?
07146842011/09/15(木) 22:03:12.20
>>712
これはX+YもY+Xも値が一緒だから判定は無理ってことでしょうか・・・?

>>713
順番を保持した値が重複の無いリストを作りたいのですが、
X = {1,2,3},Y = {2,4} とあって両方に__addメソッドがついた同じメタテーブルが設定されているとき
X = X + Y なら Y が後ろなので X = {1,3,2,4} に、
X = Y + X なら Y が前なので X = {2,4,1,3} になるといった形で
足されるリストの並びを優先するようにソートしたいのです。
0715デフォルトの名無しさん2011/09/15(木) 22:47:00.74
>>714
一例として
X = {1,2,3}
Y = {2,4}
mt = {__add = function (op1,op2)
local t = {}
local s = {}
for i,v in ipairs(op1) do
table.insert(t,v)
s[v] = true
end
for i,v in ipairs(op2) do
if not s[v] then
table.insert(t,v)
end
end
return setmetatable(t,getmetatable(op1))
end}
setmetatable(X,mt)
setmetatable(Y,mt)
print(unpack(X+Y))
print(unpack(Y+X))
0716デフォルトの名無しさん2011/09/15(木) 23:17:55.02
>>714
普通だったら
X + Y => {1,3,2,4}, Y + X => {4,1,2,3}
もしくは
X + Y => {1,2,3,4}, Y + X => {2,4,1,3}
ってすると思うんだけど、
なんで
X + Y => {1,3,2,4}, Y + X => {2,4,1,3}
になるの?
ただの誤記なら>715でいいけど
0717デフォルトの名無しさん2011/09/16(金) 14:48:55.75
>>696
可能なはずでは?無理ならCやアセンブリコードへ変換して
手作業で最適化すればいいと思う。

>>704
言語の速度に文句を言う前にプロファイラ使って
遅い部分を見つけて最適化しては?マシン買い換えるのも手。
0718デフォルトの名無しさん2011/09/16(金) 16:42:46.02
単に全部Luaでやりたい変態ってだけだろ。
たぶんプログラマに向いてない。
07196842011/09/16(金) 20:41:28.97
>>715-716
X = X + Y なら代入されるのは X なので重複される値を
X から消して Y を後ろから足すという風にしたかったのです。
X = Y + X でも同様に X に代入されるので
重複される値を X から消してから Y を前から足す、といった形です。
代入されるのを Y に変えれば
Y = X + Y → Y = {1,2,3,4}   Y = Y + X → Y = {4,1,2,3}
と言う風に計算したかったのですが、自分で書いてて気づきましたが、
どちらのoperandのmetatableが呼ばれたかを判定するだけじゃなくて
代入先の変数が何かも判定しないといけないから無理っぽいですね…。
すみません。お騒がせしました。
0720デフォルトの名無しさん2011/09/16(金) 20:52:46.08
こういうのはスズキ菌キャリアではなくライトデベロッパであればありがちな話だな。

まあLua 遅くて不満なら、Cコードの吐ける Euphoria 4.0.3 でも使えば?
LL言語の癖に嫌でも低級メモリ操作とC言語と向き合わなくては Win32 API すら
叩けないから脱童貞にはいいんじゃない? 必要ならスレ立てておいで。
0721デフォルトの名無しさん2011/09/16(金) 21:22:33.94
そういうことなら、拙作だけど Teco(>>395) が吐くバイトコードはかなり単純なので、アセンブラへの変換も楽じゃないかな。
0722デフォルトの名無しさん2011/09/16(金) 22:20:28.28
「Javaより遅い言語なんて耐えられん」by Webプログラマ
0723デフォルトの名無しさん2011/09/16(金) 22:54:08.67
>>719
X+Yの場合 {1,2,3}+{2,4} -> {1,2,3}+{4} -> {1,2,3,4}
Y+Xの場合 {2,4}+{1,2,3} -> {4}+{1,2,3} -> {4,1,2,3}
という事なら
X = unq.new({1,2,3})
Y = unq.new({2,4})
function unq.concat(op1,op2,[,base])...end
というような関数で操作した方がいいんじゃない?
メタメソッドでやるとすると
どちらを基準とするのかという情報をX,Yに埋め込んだり
他から参照したりする必要があるから汚くなる
07246842011/09/17(土) 16:33:14.72
>>723
確かにクラスやメソッドでやったほうがいいですね…。
テーブルをテーブルのままに処理を加えられるメタテーブルっていいなと思いましたが、
制限多すぎるのでやっぱりやめておきます。
0725デフォルトの名無しさん2011/09/26(月) 18:31:24.78
AngelScript 2.21.2 released - GameDev.net
http://www.gamedev.net/topic/611415-angelscript-2212-released/
0726デフォルトの名無しさん2011/09/26(月) 18:48:04.05
・スクリプトエンジンがvakye typeで値を返すときに、
 ヒープではなくスタックに確保するようにして高速化
・64bit LinuxとMac OS Xでnative calling conventionsに対応するための変更
 3次元ベクトルのようなPODの構造体ではコピーコンストラクタやデストラクタが実装されず、
 この機能がうまく働かないことがあるらしい
 全てのメンバーがint,float,doubleの場合、asOBJ_APP_CLASS_ALLINTSやasOBJ_APP_CLASS_ALLFLOATSのフラグをつけることで解決した
 全ての組み合わせをカバーできるわけではないが、ほとんどのものはこれでカバーできる
・サンプルゲーム
・クラスメンバーにもメタデータを付けられる

ABIってなんだろ?64bit LinuxとMac OS XのABIは複雑で、
メンバーの型によっては違うレジスタに渡される事があると書いてあるが
0727デフォルトの名無しさん2011/09/26(月) 19:20:42.04
この場合コーリングコンベンションのことかな

ABIという言葉にはもっと他のものも含まれるけども
0728デフォルトの名無しさん2011/09/26(月) 23:00:45.10
Application binary interface
0729デフォルトの名無しさん2011/09/27(火) 08:14:54.52
> 全てのメンバーがint,float,doubleの場合、asOBJ_APP_CLASS_ALLINTSやasOBJ_APP_CLASS_ALLFLOATSのフラグをつけることで解決した
なんだかグダグダだな
0730デフォルトの名無しさん2011/09/27(火) 08:20:21.82
       //
     /  /   パカッ
     //⌒)∩__∩
    /.| .| ノ     ヽ
    / | |  ●   ● |     
   /  | 彡  ( _●_) ミ Lua!!
   /  | ヽ  |∪|  /_
  // │   ヽノ  \/
  " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ

0731デフォルトの名無しさん2011/09/27(火) 09:09:08.59
規則を単純明解にしようと思ったら、全部スタック(CPUスタック)渡しになって重くてかなわん、
というわけで性能を稼ごうとレジスタ渡しを頑張ると規則が複雑怪奇になる。というトレードオフ。
0732デフォルトの名無しさん2011/09/27(火) 09:40:13.82
トレードオフではないだろ
クロスコンパイルと同じで
ターゲットごとに処理を振り分けりゃいいだけなんらからw
0733デフォルトの名無しさん2011/09/28(水) 01:10:06.20
大体組み合わせと例外でバリエーションがやたら増えて泥沼になるよ
0734デフォルトの名無しさん2011/09/28(水) 07:07:59.80
   ∧_∧  / ̄ ̄ ̄ ̄
  ( ・∀・) <  Lua!!
⊂/  9)  \____
q(   /
  >  >

0735デフォルトの名無しさん2011/09/29(木) 00:27:13.65
Windows環境でUnicodeビルドして普通に使えるのって今のところSquirrelだけ?
0736デフォルトの名無しさん2011/09/29(木) 07:29:47.36
Luaでも普通にUnicode使えるよ
0737デフォルトの名無しさん2011/09/30(金) 22:57:03.23
AngelScriptだって大丈夫
ファイルを読み込みをライブラリに頼らず
自分でやればいいだけ
0738デフォルトの名無しさん2011/10/01(土) 00:50:39.29
Xtalも少し初期化あたりいじる必要あるけどできるよ
0739デフォルトの名無しさん2011/10/01(土) 01:07:11.13
す、Squirrelだってっっ……!
0740デフォルトの名無しさん2011/10/01(土) 02:37:23.52
>>739
それ最初に出とるわw
0741デフォルトの名無しさん2011/10/01(土) 02:41:46.32
Squirrelのstring型ってutf16leでいけんの?
他の言語の同じようにvm内(とファイルエンコーディング)はutf8でやって
変換かませてたわ。
0742デフォルトの名無しさん2011/10/01(土) 08:33:44.98
ゲーム系ってLua多くねえか
0743デフォルトの名無しさん2011/10/01(土) 08:41:17.42
WoWがluaだから?
他にも何か理由あるのかな
0744デフォルトの名無しさん2011/10/01(土) 08:53:42.52
浮動小数点をfloatに指定して再コンパイルしてやるとDirectXとの相性ばっちりになるからとか?
0745デフォルトの名無しさん2011/10/01(土) 12:36:38.69
そ、そんなマニアックな理由なの?
もっと単純に小さくて速い組み込みやすいスクリプト言語で、
開発者がよく知っている言語をゲーム内のスクリプトに使いたかっただけじゃないの

ゲームとは関係ないが、unix系ツールの組込みスクリプトが
lua,python,tclあたりでデファクト争ってて、ただのユーザーとしては面倒きわまりない
0746デフォルトの名無しさん2011/10/01(土) 13:27:05.52
速度と採用実績だろうね>Lua多い
ゲームは特に速度気にする傾向が強いような気がする。
0747デフォルトの名無しさん2011/10/01(土) 15:15:08.08
pythonとluaは別の道具な感じがするが
0748デフォルトの名無しさん2011/10/01(土) 22:32:28.93
LuaでCからモジュール内の変数を設定することは出来るのでしょうか?

例えば
static luaL_Reg l_foo);[] = {
{ "bar", lua_bar },
{ NULL, NULL }
};
luaL_register(L, "foo", l_foo);
で設定した後にC側で
foo.varに3を設定し

Lua側で
a = foo.var
などのように利用したいのですが
0749デフォルトの名無しさん2011/10/02(日) 00:01:23.77
lua_pushnumber(L, 3);
lua_setfield(L, -2, "bar");
lua_pop(L,1);

luaL_dostring(L,"foo.bar=3");
lua_pop(L,1);

luabind::globals(L)["foo"]["bar"] = 3;
lua_pop(L,1);
0750デフォルトの名無しさん2011/10/02(日) 00:06:59.72
あぁ、varか。
barの部分をvarに読み替えてちょーだい
0751デフォルトの名無しさん2011/10/02(日) 02:14:44.52
>>746
ユーザー(ゲームだから、プレイヤーか)も速度を求める人が多いからね
そりゃ開発側も速度に気を使うだろうと思うよ
0752デフォルトの名無しさん2011/10/02(日) 11:35:03.09
>>749
lua_getglobal(L, "foo");
lua_pushinteger(L, g_"3");
lua_setfield(L, -2, "var");
lua_pop(L,1);

これで登録できました

モジュール名でテーブルが作成され、そこにモジュール内部の関数等が登録されるのですね
0753デフォルトの名無しさん2011/10/02(日) 11:52:41.94
>>752
ちょっとゴミが残ってた、正しくは以下です

lua_getglobal(L, "foo");
lua_pushinteger(L, "3");
lua_setfield(L, -2, "var");
lua_pop(L,1);
0754デフォルトの名無しさん2011/10/02(日) 14:31:39.30
>>751
日本語よめる?
0755デフォルトの名無しさん2011/10/06(木) 00:51:42.50
microSDにメジャーなOSでほぼ動くエディタと自前ツールとLuaJIT一式入れとくと簡単で便利だ。
0756デフォルトの名無しさん2011/10/06(木) 21:04:40.10
LuaJIT 安定してますか?
0757デフォルトの名無しさん2011/10/06(木) 23:59:45.35
ちょっぱやだからオヌヌメ
0758デフォルトの名無しさん2011/10/07(金) 02:21:46.97
LuaJITのAAください
0759デフォルトの名無しさん2011/10/07(金) 05:39:15.60
    ∧__∧
    (´・ω・)   いやどす
    ハ∨/^ヽ
   ノ::[三ノ :.、
   i)、_;|*く;  ノ
     |!: ::.".T~
     ハ、___|
"""~""""""~"""~"""~"
0760デフォルトの名無しさん2011/10/08(土) 13:47:41.25
LuaJIT2.0そろそろRCにならんかなぁ
0761デフォルトの名無しさん2011/10/08(土) 14:28:58.23
if 〜 then 〜 end
英語が母国語の国の幼稚園児でも意味が分かる。これがLuaのいいところ。
if (〜) {〜}
これを幼稚園児が理解することはおそらくない。
なのに後者がいいという奴は、単に自分が好きな言葉で書かせろって
わがままいってるだけ。つまり、ぴゅーた日本語ベーシックを作った奴と同じ発想。
0762デフォルトの名無しさん2011/10/08(土) 14:39:18.33
お前の脳内幼稚園児の話なんてどうでもいいわ
0763デフォルトの名無しさん2011/10/08(土) 14:58:29.15
>>761
>>761
>>761
0764デフォルトの名無しさん2011/10/08(土) 16:34:14.65
Lua はアプリケーションへの組み込みを意図し,
高速な動作,ポータビリティ,拡張の容易さなどを
重視して設計されたコンパクトな汎用スクリプト言語.
今月の TIOBE Programming Community Index では
Ruby の一つ下の12位にランキングされている*1.
これは,iPhone アプリの開発者による利用が増えている
というのが大きい*2と思うが,プログラム言語の設計者た
ちへのインタビューを纏めた Masterminds of Programming
(邦訳: 言語設計者たちが考えること)に Lua の設計者の
インタビューが取り上げられたり,その設計者の一人
Roberto Ierusalimschy による Programming in Lua や
入門書(入門Luaプログラミング)など日本語の書籍も出版さ
れたりしているので,ここ数年で日本でも認知/普及が進ん
でいるのは間違いなさそうだ.
0765デフォルトの名無しさん2011/10/08(土) 18:15:09.60
速さを極めるならイフゼンより括弧の方がすこしだけいいでしょ
0766デフォルトの名無しさん2011/10/08(土) 19:38:04.68
{}のほうがパッと見たときに全体を把握しやすいな。
if〜then〜endだとVBのようにゴチャッとした印象になるし、タイプミスが発生する可能性も高くなる。

分かりやすいことが必ずしも優れているとは限らないしな。
それにスクリプトを使うのは幼稚園児ではないのだし。
0767デフォルトの名無しさん2011/10/08(土) 19:40:30.24
初見で意味が分かるかどうかは重要じゃない罠
0768デフォルトの名無しさん2011/10/08(土) 20:48:23.03
if〜thenはLingoで見飽きた
0769デフォルトの名無しさん2011/10/08(土) 21:22:57.77
スクリプトにLuaを選択する人は速度を求めるようなコアな層なんだし
記述的にももう少しスマートにして欲しいと考えるのはある種当然の成り行きとも言えるなぁ

Luaの記述は分かりやすい!Lua最高!な人ほどむしろ別のスクリプト言語選ぶべきと思う
0770デフォルトの名無しさん2011/10/08(土) 21:43:55.16
英単語に弱い日本人らしい意見が続出
0771デフォルトの名無しさん2011/10/08(土) 21:47:07.00
{}はコメントだろ?Pascalだと。
0772デフォルトの名無しさん2011/10/08(土) 22:45:26.86
視覚的にカーリーブレースのほうが見やすい気がしなくもない
0773デフォルトの名無しさん2011/10/08(土) 23:03:19.84
カーリーブレイスはすでにテーブルリテラルで使っちゃってるからかな。同じ記号を複数の意味で使いたくなかったとか?
0774デフォルトの名無しさん2011/10/09(日) 00:28:45.10
>>770
AppleScript書きまくってから言えー
0775デフォルトの名無しさん2011/10/09(日) 00:32:47.05
>>774
何かと思ってググってみたが、日本語で記述できるんだな…
0776デフォルトの名無しさん2011/10/09(日) 01:33:22.07
LuaとWSHとひまわりを足して2で割ったような感じか
0777デフォルトの名無しさん2011/10/09(日) 07:14:00.57
       //
     /  /   パカッ
     //⌒)∩__∩
    /.| .| ノ     ヽ
    / | |  ●   ● |     
   /  | 彡  ( _●_) ミ Lua!!
   /  | ヽ  |∪|  /_
  // │   ヽノ  \/
  " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ

0778デフォルトの名無しさん2011/10/09(日) 07:56:02.97
おっぱい言語が最強
0779デフォルトの名無しさん2011/10/09(日) 13:37:17.00
PyPy!!
0780デフォルトの名無しさん2011/10/09(日) 13:39:55.98
man man
0781デフォルトの名無しさん2011/10/11(火) 12:03:55.72
ttp://www.dartlang.org/

ぐぐるの Javascript 狙いうち?な新言語

やっぱみんなクラス欲しいのなw
0782デフォルトの名無しさん2011/10/11(火) 12:17:54.43
Lua
アーカイバ作ってて、拡張子のテーブルにコマンド入れといてos.executeとか
local FileExtTable={lua={SrcExt="lua",DstExt="lbc",Cmd="luajit.exe -b $FileName.$SrcExt $FileName.$DstExt"},...}
テーブルとstring.gsub "%$(%w+)"が便利でにやけちゃう
0783デフォルトの名無しさん2011/10/13(木) 12:46:17.22
         \   l´⌒\⌒\ \\ \
           \ ヽ   )  )   \\ \\   
              (   \ \∩___∩ \\ 
           \   \  ⌒⌒| ノ      ヽ  \\      
              \ \   /  ●   ● ト、\ \\\ 
               \  Y |    ( _●_)  ミ\  \\\  
               \ / 彡、_  |∪| ノ   \  \\\
                 (____)―ヽノ' ヽ      ̄ ̄ ヽ\\
                                \,  j  l l .l }
                         Lua!   l (_ノノノノ

0784デフォルトの名無しさん2011/10/17(月) 23:00:09.22
http://angelscript.svn.sourceforge.net/viewvc/angelscript?revision=998&view=revision

- Implemented the shared class feature
- Fixed bug in CSerializer add-on

他のモジュールで書いたクラスも使えるようになったということか
■ このスレッドは過去ログ倉庫に格納されています