- 1 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 09:11:41 ]
- LuaやSquirrelなどアプリケーションへの組み込み用途で
使われるプログラミング言語についてのスレッドです まとめwiki(なにか質問する前に必ずみること!) wikiwiki.jp/lua/ その他の参考URLは>2から ■前スレ 【Lua】組み込み系言語総合【Squirrel】 pc12.2ch.net/test/read.cgi/tech/1205208141/ ■過去スレ その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
- 226 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 13:21:29 ]
- >>223
Lua以外にするとメモリ消費や処理速度が劣ってしまうのが嫌で やっぱり仕様に従って使うしかないですか
- 227 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 14:04:47 ]
- ∩∩ ;
;|ノ||` ┬-‖ __,/●●| __ | | ‖ L...Lua.. | ; |`(_●)/ ミ . Y ‖ | .彡|∪||、 , .| | ‖ /:~ ̄ ̄ ̄ ̄:/.| | ‖ ,|:::::. .......::/>> / ‖ /.::::: .. ...::::::|'(/\_/ ‖ ../:.::: .. :.:::/.:/ /‖\ /.:::. ....:::..:::/.:/ ' ̄ ̄ ̄ ̄ ̄ _/ |_| ̄ ̄ ̄ ̄|_|
- 228 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 18:31:00 ]
- BASICでも配列作ると0からなのに・・・・
- 229 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 18:57:15 ]
- ここは中間をとって0.5に
- 230 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 19:28:51 ]
- BASIC はたいていの実装が OPTION BASE とかで配列の開始インデックスを変更できるぜ
- 231 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 20:37:21 ]
- もう連想配列だけにしちゃおうぜ
- 232 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 23:24:33 ]
- >>230
なつかしすぎてどっかから鼻血でたわw
- 233 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 23:41:07 ]
- 0からってのはポインタ的な発想で好かんわ
- 234 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 13:50:08 ]
- Pythonでシステム組んでるが、配列のインデクスが何番からかほとんど意識することないな。
for文ではそのままイテレータをまわしてしまうし。
- 235 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 19:50:43 ]
- Lua標準だと1ステートあたりのスタックサイズは1Kだけど
消費を抑えたくて手動設定する場合 どれくらいの値がベストだろう?
- 236 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 23:42:36 ]
- デフォで使用メモリ量が80MBを越える俺の構築した処理系からすれば、
数十キロバイトの仮想スタックなんて小さな問題だ。
- 237 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 01:41:47 ]
- 新しい必殺技を思いついた
>>236 に捧ぐ "O"zapper!!
- 238 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 03:42:20 ]
- 次こそはうまくやりますコンピューター!
- 239 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 19:42:49 ]
- >>232
「どっかから」てお前はケツから鼻血がでるのかよw >>236 RubyでフレームワークとしてRailsを搭載したかのようなメモリ消費量だなおいw
- 240 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 19:52:53 ]
- >>239
IronPythonがもりもりメモリ食うからな。 ほんと環境にやさしくないスクリプトエンジンだぜ。 まあ、C#で組むにはこれが一番「普通」なスクリプティングエンジンなので。
- 241 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 21:24:50 ]
- IronPythonすげえwそんなにメモリ食いすぎなのかw
- 242 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 02:42:38 ]
- luaについてちょっと質問なんだけど、
乱数を表示させたあとに、もう一度同じプログラムを実行すると シード値が変わらずにまったく同じ乱数が表示されてしまう。 どうすればこのシード値を初期化して、実行するたびに違う乱数を 表示させられるの?
- 243 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 02:54:44 ]
- それこそシード値を「適当に」初期化してやればいい。
一般的には、タイマーの値とか、ユーザ入力の時間差を測定したりして、それを srand() につっこんで対応する。
- 244 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 03:04:26 ]
- >>243
レスありがとう まだはじめたばっかりでホームページさがしながらの手探り状態なんだけど、 math.random()で()の中に1から10までの値をいれるよね? そしたらそれ以外にmath.randomseedを書けばいいってこと?
- 245 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 03:16:42 ]
- そう。
プログラムの頭で math.randomseed(os.time()) とでもしておきなされ。
- 246 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 03:22:08 ]
- できました!
本当にありがとうございました。 これからもっと勉強してきます
- 247 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 13:48:26 ]
- 実行中のLuaスクリプトを停止させるには
lua_errorで強制的に例外を発生させる方法以外に 何かありませんか? 1つのスクリプトを実行する一般的な使い方なら問題ないのですが スレッド毎で同時に複数のスクリプトを実行させる場合 リソースの保護をしても違うスレッドからスクリプト(ステート)を閉じようとすると 原因不明のエラーで強制終了してしまいます
- 248 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 14:52:00 ]
- >>247
コルーチン化していつでも終了できるように作っておくのがLWL流 :)
- 249 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 14:57:04 ]
- つlua_yield
- 250 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 15:03:25 ]
- >>248
肝心な部分を説明し忘れてました 私が今作ってるのは>>190の方が言われたような luaを同時実行させてプラグイン機能を実現するもので それをコルーチンでやるとなると実質スレッド1つで 全処理をすることになるのでCPUリソースの消費が激しく ステートも一つだから変数の重複などが問題になって それらを回避するためにマルチスレッド上で それぞれスクリプトを動かす必要があるのです しかしあるプラグインでエラーが起こり それに関連するスクリプトを全部停止(解放)したい時 現スレッドから他スレッドのステートを閉じようとすると 強制終了につながるエラーが起きてしまう状況で
- 251 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 15:35:28 ]
- >>250
ちがうよー。 コルーチンというのはプログラマが入力した任意のタイミングで 動作を中断できるようにした仕組み(yield)のことであって、 それを使って複数の仕事を1スレッドで同時に実行というのは二次的なものに過ぎないんだよ。 したがって複数のスレッドで実行しても(エンジンの実装に問題が無いなら)問題ない。 で、中断されて制御が戻ってきたタイミングでそのまま開放してあげればいい。
- 252 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 15:54:24 ]
- >CPUリソースの消費が激しく
>変数の重複などが問題 ↓ >強制終了につながるエラーが起きてしまう状況 戦況が悪化してるが、今さら撤退する気はない 典型的なパターンですね
- 253 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 16:07:52 ]
- >>250
lua はスレッドセーフじゃないから、別スレッドからの制御は根本的にできないよ コルーチンでうごかせってのは、呼び出しに lua_call を使うんじゃなくて、lua_resume と while ループでスクリプトを駆動させて、スクリプト側では定期的に yield するようにすれば、 その区切りで安全に実行中断できるよ、ってこと。 それぞれのスクリプトはそれぞれのスレッドで立ち上げて、ほかのスレッドから停止させるときは フラグをたてておいて、そのフラグがたってたらwhileを抜けて速やかにスレッドを自滅させる ような書き方にする。 コルーチン駆動&記述が面倒ってことなら、裏技チックだけど、lua_sethook を使って、 関数呼び出し、ないしは行ごとに終了フラグチェックさせて、もしフラグたってたら lua_error で速やかにスクリプトを abort させるという手もある。 残念ながらhookにユーザパラメータは存在してないので、変数かレジストリに 参照するフラグのCポインタを格納しておく、とかの小ざかしいテクが必要。
- 254 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 16:12:26 ]
- なるほど
Luaスクリプトを同時実行する際は マルチスレッドのみでの制御は無理ということですか 改めてコルーチンについて勉強し直してきます どうも助かりました
- 255 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 17:04:30 ]
- スレッドって名前が紛らわしいな。
関係ないかもしれないが、非推奨な手法を使いにくくするとかいう話を思い出した。
- 256 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 23:15:46 ]
- Luaは普通の呼び出しと、lua_yieldで一時停止して再度呼び出す場合とで使う関数が違うのが面倒くさくて逃げちゃったな俺…
AngelScriptだと同じ呼び出し方でOKなんだよなぁ…
- 257 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 05:43:27 ]
- >>256
coroutine.wrap をつかえば、普通の関数呼び出しと同じように resume もできるよ。
- 258 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 11:25:20 ]
- 変態文法&バイトコードがエンディアン依存なluaを広めるのやめようぜ
手間が増えてスクリプトにしてる意味がねえよ
- 259 名前:デフォルトの名無しさん [2009/10/15(木) 11:27:46 ]
- luaって、oracleにアクセスするライブラリないですか?
- 260 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 22:50:58 ]
- JavaからLuaを使うことってできる?
- 261 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 23:24:54 ]
- JavaからC言語を使うことってできる?
- 262 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 10:56:47 ]
- >>259
www.keplerproject.org/luasql/ Lua for Windows についてくるよ。使ったことないけど。 luaforwindows.luaforge.net/
- 263 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 11:14:25 ]
- >>259
というかそんな『重い』プロダクトを扱うなら、 素直にPythonやRubyなんかのライブラリの整備されたスクリプト言語使ったほうがよくなくね?
- 264 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 11:16:27 ]
- まあそんなこといいつつ、俺もPythonで軽量なDBラッパー探したら見つからなかったので
ActiveRecord互換のORMライブラリを自作したんだがな。
- 265 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 11:24:25 ]
- >>258
Luaの速度に魅力を感じてる人がなんとなく多い気がするね。 あとは、リスとかに比べるとドキュメントの多さなんかが人気の秘訣?
- 266 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 11:27:28 ]
- 某MMORPGで使っているからだったりして。
- 267 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 12:17:07 ]
- ああ、別にROに限らず採用実績っていうのは使う基準に十分なるだろうし。
- 268 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 12:25:08 ]
- 組み込みに求められるのは速度と少ないメモリ消費だから
多少なりと癖があろうとlua使っちゃうんだよね 他に比べて採用例も多い分、多言語との連携も充実してるし
- 269 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 12:53:36 ]
- ORMの次は、C/C++とスクリプトのマッピングだ、というアナロジーだけで
動いてるやつがいるような気がしてきた
- 270 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 13:04:45 ]
- >>組み込みに求められるのは速度と少ないメモリ消費だから
なんで? 別にそれは前提条件にならないと思うけど。 オレはゲームシステムを組んでいるところだが別にメモリ消費量は大して気にしてないぞ。 速度は大切だが、どうせ1スレッドでは間に合わなくなるのでマルチスレッド化するし、 ボトルネックはスクリプト部分ではないので問題ない。
- 271 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 13:14:26 ]
- ヤマハ RTX1200 に Lua 実行機能搭載だってさ
ttp://www.rtpro.yamaha.co.jp/RT/docs/lua/index.html
- 272 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 13:17:06 ]
- AngelScript使おうぜ
- 273 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 13:37:08 ]
- まぁ、なんだかんだでluaが一番なんだけどね
- 274 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 13:58:37 ]
- >>273
俺はそうは思わないけどな……。 触ったことあるけど文法がちょっと癖あるし、整数型がないし。 Pythonの方がよっぽどいい。
- 275 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 14:01:01 ]
- >>274
いやいや、個人的にではなく一般的にね 上でも出てるけど書籍や採用例が多いとかさ
- 276 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 16:06:28 ]
- このスレはIronPython使いと、AngelScript使いが一人ずつ常駐してるんだなw
- 277 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 17:20:01 ]
- こんだけで組み込み言語として使えるわけで、
ttp://alpha.mixi.co.jp/blog/?p=236 でもphpに組み込みってなんだ。 ttp://www.mediawiki.org/wiki/Extension:Lua まあPECL拡張は2年前で止まってるみたいだけど
- 278 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 00:50:19 ]
- PHPはインタプリタを組み込めないライセンスだからなー。
この制限さえなければ今までなかった用途が色々できると思うんだけど。
- 279 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 15:11:07 ]
- >>278
??どういうこと?
- 280 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 15:38:39 ]
- >>279
うう〜ん……。問われたので改めて調べてみたが、どうやら間違った認識が一部あったようだ。 PHPインタプリタ本体はPHP License 3.01で配布されていて、 こいつは ・配布するソースコードまたはドキュメントに著作権表示、ラインセンス本文を記載すること ・PHP Groupから許可を得ずにPHPという名前を使用しないこと (PHP Fooやphpfooはだめ。Foo for PHPはOK) ・文言の表示強制("This product includes PHP, freely available from <www.php.net/>") だけだな。インタプリタ自体を内蔵することは問題なさそう。 契約なしに内蔵できないのはZendライブラリなんだそうな。 (Zend Frameworkは修正BSDライセンス。Zendライブラリとは何ぞや?)
- 281 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 23:30:49 ]
- ここでzlibライセンスのSquirrelとAngelScriptの出番ですね!
- 282 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 01:54:10 ]
- luaスクリプト上でコルーチンを作成をした場合は
明確的に破棄する方法はないようなのだけどC側から //コルーチンを実行するのスレッド(ステート)を作る lua_State *L = lua_newthread(luaL_newstate()); //C側からコルーチンの操作 //コルーチンのスレッドを閉じる lua_close(L); とした場合はコルーチンを実行する為に確保されたメモリは解放されますよね?
- 283 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 03:54:02 ]
- そいや、Ioって言語はどうよ?
シンプル、軽量というのが売りらしいが。
- 284 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 09:02:18 ]
- >>282
lua_newthreadで作成したコルーチンはlua_closeしちゃ駄目だよ。 開放はGCにまかせる。>>121あたりから同じ様な質問出てるから見てみ。
- 285 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 09:33:44 ]
- >>284
指摘ありがとうございます つまりスタックに積まれたコルーチンのスレッドを lua_popで削除すればいいのですか でもそれだとGCまかせでスグにコルーチン破棄はされないので >>282のを //コルーチンを実行するのスレッド(ステート)を作る lua_State *L = luaL_newstate(); lua_State *T = lua_newthread(L); //C側からコルーチンの操作 //ステートを閉じる lua_close(L); とすれば閉じるのはコルーチンのステートではないものの lua_newthread は元のステートのオブジェクトを共有するみたいなので コルーチンで確保されたメモリも同時に解放されますよね?
- 286 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 10:07:08 ]
- >コルーチンで確保されたメモリも同時に解放されますよね?
まぁ、そらそうだが。 任意開放ならlua_gcじゃ駄目な理由でもあるの?
- 287 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 10:29:55 ]
- 駄目な理由はないのだけど
GCという目に見えない物に頼るより 自分で明確的に管理したくて
- 288 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 10:37:32 ]
- つまりC#くそくらえってことですね
- 289 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 10:43:50 ]
- (#^ω^)
- 290 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 11:14:07 ]
- (C#^ω^)
- 291 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 11:22:19 ]
- (Ruby#^ω^)
- 292 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 11:27:18 ]
- >>287
Luaでは文字列もテーブルも関数もuserdataもGCで管理されてる訳だが、そういうのも自分で管理したいの?
- 293 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 11:31:28 ]
- >>292
そこまではこだわってないです それらはスクリプトに自分で定義しないと生成されないから ある程度は管理出来るので
- 294 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 11:54:51 ]
- >>285
元のステートごと閉じてたら、そのコストがでかすぎて全然うれしくないと思われ。 GCいやな人は lua 使うな、が精神的には正しい。squirrel にしときなされ。
- 295 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 12:06:48 ]
- >>283
遅い 検索しづらい
- 296 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 12:07:49 ]
- >>283
言語としては面白いよ 組み込みも簡単に出来るし でもWinの開発環境を整えるの面倒
- 297 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 12:26:45 ]
- ネットでの検索しやすいのさは大切だよね
iPhone 3G S もジョブスが発表後に iPhone 3GS に改名させたそうだ
- 298 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 12:28:16 ]
- > ネットでの検索しやすいのさは大切だよね
「ネットでの検索のしやすさ」の間違いです… 自分でワロタ
- 299 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 12:37:33 ]
- >>294
>元のステートごと閉じてたら、そのコストがでかすぎて 具体的にkwsk
- 300 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 13:09:55 ]
- >>299
や、普通にグローバルな関数や変数も全部毎回順次解放&登録しなおすハメになるじゃん そういったコストを下げるために共有させる仕組みなのに本末転倒だろう それぞれのスレッドが完全独立で頻繁に起動するものでもないのなら止めはしない。
- 301 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 13:17:45 ]
- >>285を見る限りコルーチンを実行し終わった時に
不要になったのを解放するのだから問題ないでしょ
- 302 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 14:09:07 ]
- 実際にはluaL_openlibsが必要だからコストが大きいよ
擬似コードにはいちいち書かないだろうけど 擬似コードを書くとどうしても、目に見えない物に頼りがちだよね
- 303 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 16:00:28 ]
- ちょっと前にLuaで乱数を作っていたものだけど
今度は重複しない乱数を表示させたいと思っている。 でも何度やってもできない。。。 ヒントだけでも教えてください
- 304 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 16:05:01 ]
- そもそも重複しないものは乱数とは言わない。もはや lua とは関係ない話なので手頃なアルゴリズム系の質問スレに移るのをオススメする
ヒント:シャッフル
- 305 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 16:19:02 ]
- >>304
レスありがとう ということは、最初に規定量の数値を指定しておいてそれをシャッフルすればいいってことか! ありがとう。
- 306 名前:デフォルトの名無しさん [2009/10/18(日) 16:59:56 ]
- 個人情報が流出しても、ニュー速民は困る人いないよね?
tsushima.2ch.net/test/read.cgi/news/1255851428/
- 307 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 23:54:16 ]
- (C#^ω^)
- 308 名前:デフォルトの名無しさん [2009/10/23(金) 14:27:21 ]
- 以下のようなプログラムで
クリティカルセクションの所有権を放棄し それぞれのスレッド、スクリプトの実行を 安全に終了させるにはどうしたらいいでしょうか? -- test.lua while true do foo() end -- test2.lua while true do foo() end -- main.cpp void thread1(){ ・・・ if(luaL_dofile(L,"test.lua")){ ・・・ } void thread2(){ ・・・ if(luaL_dofile(L,"test2.lua")){ ・・・ } int foo(luaState* L){ EnterCriticalSection(&CriticalSection); // 少し重めの処理 LeaveCriticalSection(&CriticalSection); }
- 309 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 00:21:40 ]
- 1つ1つのLuaステートをLua_yield使って個別に動かすのはダメなの?
- 310 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 00:42:33 ]
- あれ もしかしてAngelScriptって結構良いんじゃね?
名前が可愛いからちょっと舐めてたわ
- 311 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 00:51:08 ]
- >>310
できたら、どの辺りが気に入ったか詳しく
- 312 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 06:30:35 ]
- ついでに、このスレに常駐しているAngelScript信者の方にお聞きしたいのだが、
LuaやSquirrelと比べて優れている点は何がありまんすか?
- 313 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 06:39:49 ]
- //
/ / パカッ //⌒)∩__∩ /.| .| ノ ヽ / | | ● ● | / | 彡 ( _●_) ミ AngelScript!! / | ヽ |∪| /_ // │ ヽノ \/ " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
- 314 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 07:09:44 ]
- AngelScriptの@がよくわからん。
オブジェクトの参照なのか? Hoge@ hoge; みたいなの。 C++みたいに、インスタンス入れる変数と参照がわかれているのか?(C++詳しくないからなんtねいったらいいかわからん) LLなのに面倒な言語だな… 全部、デフォで参照でいいと思うんだが
- 315 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 12:38:48 ]
- >>314
スクリプト言語の癖に静的型付言語だからなぁ。 それって本当に意味あるのか? って思ってしまう。 Booとかも触ってみてその動作速度は認めるけど、スクリプトの記述が面倒に感じる。
- 316 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 13:28:09 ]
- ActionScript3.0 もいちおうスクリプト言語だけど、静的型付言語。
まぁ、インタプリタじゃないけどね。
- 317 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 23:43:43 ]
- >>312
・文法がC++まんまなので書きやすい ・C++との連携が簡単 ・クラスとかほぼそのまま使える ・const〜やenumなど、定数定義が可能 ・#includeも可能 こんなところか? >>314 その例だと、「Hogeクラスの参照型」って扱いになる。 C++のHoge &という記述に近い。
- 318 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 00:41:08 ]
- スクリプトを自分で改造して使いたいんですが、ライセンスが緩くて
ソースが読みやすく短い組み込みライブラリのお勧めを教えてもらえませんか? 今のところLuaが最有力候補だと思ってます。
- 319 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 01:10:08 ]
- Squirrelがソース短いんじゃなかったっけ。読みやすさは知らんが。
- 320 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 05:11:42 ]
- >>319
実質としてはそんなに悪いコードではないが、しかし決して良いコードではない。 そして、SqPlusは絶対に読むな。頭が痛くなること請け合い。 それはそうと、Xtalのコードは大変いいと思うぞ。 言語自体の仕様は首を傾げたくなるところがあるが。
- 321 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 08:12:58 ]
- \ l´⌒\⌒\ \\ \
\ ヽ ) ) \\ \\ ( \ \∩___∩ \\ \ \ ⌒⌒| ノ ヽ \\ \ \ / ● ● ト、\ \\\ \ Y | ( _●_) ミ\ \\\ \ / 彡、_ |∪| ノ \ \\\ (____)―ヽノ' ヽ  ̄ ̄ ヽ\\ \, j l l .l } Lua! l (_ノノノノ
- 322 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 17:53:23 ]
- >>320
Xtalのコードは俺の頭じゃ解析不可能だからLua読んでます。
- 323 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 18:55:12 ]
- SqPlus使おうと思ったらもう全然更新してないのか
いったいどれにすれバインダ
- 324 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 20:22:51 ]
- そもそもSquirrel自体全然盛り上がってないというか終わってるというか
始まる前に終わっちゃったよ的な
- 325 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 20:29:35 ]
- Lua 5.2まだー
- 326 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 22:01:57 ]
- >>323
SqPlusはダメすぎる、忘れましょう、使ってる人はたぶんいません squirrelのバインダは自分で使い易いように自分で書いた方が1024倍マシよ
|

|