プログラミング言語 L ..
263:デフォルトの名無しさん
07/07/07 16:44:26
阻止
264:デフォルトの名無しさん
07/07/10 11:37:13
誰か
VC++2k3での使い方
頼む
265:264
07/07/10 12:22:55
一週間ぐらい悩んでたのに、質問書いた途端に事故解決した
プロジェクト作ってサンプルソース加える
本家でdownload binaries (ここで違うサイトへ飛ぶ) download lua-----vc6_lib.zipをダウンロード
プロジェクトのフォルダに解凍したもの突っ込む
includeのフォルダの中身をソリューションエクスプローラーのヘッダーファイルのところに放り込む
lua5.1.libをソリューションエクスプローラーのリソースファイルのところに放り込む
あとはプロジェクトのプロパティで
全般のマネージ拡張をいいえ
リンカの入力 特定ライブラリの無視をlibcmtd
これで実行できた
マネージ拡張の部分変えなくてもコンパイルとリンクは普通に通るから何が原因か訳分からなかった
チラシの裏だったかもしれないがとりあえず
266:デフォルトの名無しさん
07/07/13 20:41:43
ゲーム用スクリプトとしては有名らしいけど
使ってる国内の市販ゲームってほんとうにあるの?
267:デフォルトの名無しさん
07/07/13 20:53:24
知るか
268:デフォルトの名無しさん
07/07/14 01:13:39
>266
国内では知らないが
海外含めればFarCryとかRagnarokOnline(ホムンクルス用)か?
269:デフォルトの名無しさん
07/07/14 12:48:59
1つ質問
組込言語を使う場合、
・全ての処理を記述する
・部分的に処理を記述する(敵の移動ルーチンなど)
どっちが良いのかな?
270:デフォルトの名無しさん
07/07/14 13:01:16
>>269
・分離が必要な部分のみを記述する(敵の移動ルーチンなど)
271:デフォルトの名無しさん
07/07/14 13:29:28
RigidChipsに組み込まれたLUAでFFTを実装しているんだが
なんかうまくいかない
参考にしているCソースのFFTは基本が再帰呼び出しなんだが
ポインタなぞ使えないし
色々やってみたが、ナンカ Arithmeric fireldなんとかって出てエラーになりよる
もう頭が沸騰しそうだぉ
272:デフォルトの名無しさん
07/07/14 14:41:09
質問です。
C側からLua内のテーブルにアクセスする場合
URLリンク(tgws.fromc.jp)
↑を使うと「table.member.value」のような形の値にはアクセスできますが
table[1].value のような配列形のテーブルに入っている値にはアクセスできません。
実現する方法はありますか?
273:デフォルトの名無しさん
07/07/14 16:14:39
>>272
そのURLのどこを参考にしてるのかわからんけど・・・
キーの値としてpushstringしてるところをpushnumberにすればいいんじゃないの?
274:デフォルトの名無しさん
07/07/14 18:57:10
>>269
ケースバイケースじゃね?
全部スクリプトでいいならその方がらくできそうだし
275:デフォルトの名無しさん
07/07/14 19:08:19
LuaとRubyって何か似てますね
276:デフォルトの名無しさん
07/07/14 21:43:31
そうかなあ。
277:デフォルトの名無しさん
07/07/14 22:47:13
endくらいだろ
278:デフォルトの名無しさん
07/07/14 23:54:44
JavaScriptのほうが似てるという噂
279:デフォルトの名無しさん
07/07/15 00:48:46
Squirrelなら、何となくJavaScriptに似てなくもないが、ぅあは・・・
280:デフォルトの名無しさん
07/07/15 00:49:57
Rubyはいろんな言語からのパクリンだから
281:デフォルトの名無しさん
07/07/15 00:59:04
色々な言語のパクリじゃない言語なんて無いですけどね。
Luaもパクリンしまくりですよ。
282:デフォルトの名無しさん
07/07/15 01:08:20
>>279
構文にしか目がいかないヘタレ発見
283:デフォルトの名無しさん
07/07/15 01:12:02
>>281
いや、Rubyのパクリ方は酷い
オリジナリティなんてない
他の言語と比較するなんておこがましい
284:デフォルトの名無しさん
07/07/15 01:16:34
別に酷くても良いんじゃない
上手くアセンブル出来ていて、それが有用ならオリジナリティなんて要らないでしょ
俺はまともにスレッドを扱える様になるまで使う気は無いけど
285:デフォルトの名無しさん
07/07/15 01:21:17
>>283
具体的に何がどう酷いの?
どうせパクリ元の言語なんて知らずに見聞だけで言ってるんでしょ?
プログラミング言語の歴史を少しでも知ってたら、
「パクるなんて酷い」なんてとてもいえないんだがね。
おこがましいのは無知なお前。
286:デフォルトの名無しさん
07/07/15 01:27:03
どちらかと言うと、パクりつつけなしているのが酷いような
287:デフォルトの名無しさん
07/07/15 01:59:36
パクリ=Ruby厨が集まるキーワードです
288:デフォルトの名無しさん
07/07/15 02:11:01
反論できなくなるとレッテルを貼ってごまかします。
289:デフォルトの名無しさん
07/07/15 02:19:04
良く分からんが >>288 的には、誰が誰に反論すべき局面だったんだ?
290:デフォルトの名無しさん
07/07/15 02:22:10
自分だってわかってるからそうやってレスしてんでしょ?
291:デフォルトの名無しさん
07/07/15 02:23:39
パクリパクリ言うなら、C#の方がひどいだろ
Delphiパクった上に、J++までパクッたあげく文法は、C似だし
最近は、関数型言語まで朴楼としている
292:デフォルトの名無しさん
07/07/15 02:28:11
プログラミング言語の世界において、
パクリとかは関係無いし、どーでもいいことだってことを理解しないと前に進めません。
Rubyをパクった言語もいくつも生まれています。
293:デフォルトの名無しさん
07/07/15 02:30:02
>>290
だから自分って誰だよ...
君のレスだけ迷子になってるっぽかったから聞いてあげたのに。
294:デフォルトの名無しさん
07/07/15 02:34:28
>>293
はいはい、自分じゃないと思うならいちいち反応しなくていいよw
バカだなw
お前は2chでそうやっていちいち迷子のレスを案内してやってのかいw
295:デフォルトの名無しさん
07/07/15 02:41:18
以後、ru○yの話題は禁止
296:デフォルトの名無しさん
07/07/15 02:47:15
>>289
すまん。見てたが良くわからないから
偉い人が降臨するのを待った方がいいと思った。
でもローカル変数はenvironmentが持ってるわけじゃないし
(Function Prototypeが持ってるぽい)
他の関数はスコープの外だから無理だと思うよ。
table:functionの形式にしてselfに持たせるのはどう?
297:デフォルトの名無しさん
07/07/15 03:31:15
>>294
>お前は2chでそうやっていちいち迷子のレスを案内してやってのかいw
見ていて可哀想だなと思った時だけだよ。
298:デフォルトの名無しさん
07/07/15 11:58:49
>>297
かわいそうなのはお前なんだけどなw
299:デフォルトの名無しさん
07/07/15 12:44:33
ムjもID出ればいいのにな。
毎行wつくのがうざwww
300:デフォルトの名無しさん
07/07/15 12:50:26
すまん。見てたが良くわからないから
偉い人が降臨するのを待った方がいいと思った。
301:デフォルトの名無しさん
07/07/15 13:02:21
>296,300
どうして >126 がコピペされているんだろう。
126を書いたので気になる。間違ってるならそう言ってくれよう。
302:デフォルトの名無しさん
07/07/15 13:29:46
すまん。見てたが良くわからない
303:デフォルトの名無しさん
07/07/15 15:00:56
>>298
そんな無理に頑張らなくても、もう終わりで良いんじゃない?
304:デフォルトの名無しさん
07/07/15 15:04:58
お前らこんな人口の少ないスレでなにやってんだよ
305:デフォルトの名無しさん
07/07/15 15:18:50
>>303
お前が必死に引き伸ばしてるんだろうが。バカだな・・・。
306:デフォルトの名無しさん
07/07/15 15:22:39
>>305
バカだと思ったらレスしなきゃ良いんじゃね?
w 付けるのも止められたんだしw
307:デフォルトの名無しさん
07/07/15 15:36:48
Ruby>>>>>>>>。。。。Lua
308:デフォルトの名無しさん
07/07/15 16:32:24
久しぶりに二桁未読があって楽しみに開いたらやっぱりか…
ちょっと期待しちゃった俺がばかだった( ´・ω・)
309:デフォルトの名無しさん
07/07/15 16:59:03
>>275-307まで脳内削除
310:デフォルトの名無しさん
07/07/15 17:17:56
RUBYYYYYYYYYYYYYYY!!!!!!!!!!!
311:デフォルトの名無しさん
07/07/15 17:43:06
これからはXtalの時代でしょ
312:デフォルトの名無しさん
07/07/15 17:46:26
もう俺言語はいいよ
バグあったら最悪。大抵デバッグで詰まるし
結局緊急時とかは既成のCとか使っちゃうわけだし?
313:デフォルトの名無しさん
07/07/15 17:54:56
>>306
バカかお前。
お前がまず「もう終わりで良いんじゃない?」と思ったんだから、
レスしなきゃいいだろうがバーカ。
314:デフォルトの名無しさん
07/07/15 18:07:59
バカしか書けんのか、この荒らしは...
虚しいのう...
315:デフォルトの名無しさん
07/07/15 18:11:42
バカなお前のために、俺の語彙力を発揮しろと?
というか、バカなんだから理解できないだろ?
316:デフォルトの名無しさん
07/07/15 18:13:01
>>313
ここはぅあのスレですよ。喧嘩をしたいのなら他所でやって頂けませんか。
317:デフォルトの名無しさん
07/07/15 18:14:21
>>315
あまりにも程度が低過ぎてワラタ。お前面白いからもっと頑張れw
318:デフォルトの名無しさん
07/07/15 18:14:27
もう終わりで良いんじゃない、と言った本人がダラダラと続けてるからムリ
319:デフォルトの名無しさん
07/07/15 18:15:39
>>317
お前もガンバレよ、そのネット難民の生活をなw
320:デフォルトの名無しさん
07/07/15 18:16:57
うわー、レッテル貼られたw
何だっけ? レッテル貼るのは反論出来ない時のごまかしなんだっけかw
321:デフォルトの名無しさん
07/07/15 18:17:44
これが2ch名物、"悔しいからお互いにレスし続ける合戦"ですか。
低脳二人がこの合戦にはまると、まさにエンドレスサマー
322:デフォルトの名無しさん
07/07/15 18:18:53
>>320
えw
お前レッテルの意味わかってるの?w
323:デフォルトの名無しさん
07/07/15 18:21:30
スマソ。はしゃぎ過ぎたわ。あとは誰か適当に相手してあげて。
ちょっと面白かったわ。
324:デフォルトの名無しさん
07/07/15 18:21:54
そろそろ「夏か…」と言い出す夏厨厨も参加して、
事態はますます混迷を深めていきます。
325:デフォルトの名無しさん
07/07/15 18:31:09
もう夏か・・・
326:デフォルトの名無しさん
07/07/15 18:32:03
>>323
まぁよくがんばったよ。
散々やっときながら、"ちょっと面白かったわ"と、
"俺は余裕だった、ちょっとアラシをからかってやっただけ"
という演出をするところがなかなか将来有望。
そんな演出を入れてみても、
傍から見るとどっちもアラシにしか見えないんだけどね。
327:デフォルトの名無しさん
07/07/15 18:33:41
↑傍観者気取りでた〜www
328:デフォルトの名無しさん
07/07/15 18:35:21
スマソはどうした?
329:デフォルトの名無しさん
07/07/15 18:40:45
相手を特定したがる割に、匿名を嫌うわけでもないのが始末に終えない
匿名の全体主義こそすべて
330:デフォルトの名無しさん
07/07/15 19:27:00
>>328
俺は傍観してるよ。>>327 は誰だか知らん。
331:デフォルトの名無しさん
07/07/15 22:17:16
Luby
332:デフォルトの名無しさん
07/07/15 22:24:40
ぅび
333:デフォルトの名無しさん
07/07/16 01:07:47
あぁ、とうとうこのスレにもキチガイがきたか…。はやく別のとこいってくれねーかな。
334:デフォルトの名無しさん
07/07/16 23:52:40
結論 同一人物or魂の双子
335:デフォルトの名無しさん
07/07/17 00:44:33
RubyとLuaが?
336:デフォルトの名無しさん
07/07/17 00:55:29
>>283
rubyのは オ マ ー ジ ュ な
パクリとオマージュは紙一重だけど
rubyのはオマージュだと言える
だいたいパクリで成り立ってる言語なんてあるのか
337:デフォルトの名無しさん
07/07/17 01:23:44
Java
338:デフォルトの名無しさん
07/07/17 01:26:20
ところで、squirrelの記事を書いてくれると言った>>166はどうしたのかね?
339:デフォルトの名無しさん
07/07/17 01:48:10
>>336
パクりで成り立ってない言語なんてあるのか
の間違いじゃないの?
まあ俺が言ってるのはその「オマージュ」なんだろうけど
340:デフォルトの名無しさん
07/07/17 12:04:38
どうでもいいからお前らLuaの大域変数の初期値与える方法教えろよ!
具体的に言うとあるゲーム(説明のために簡単にブロック崩しにしておく)の初期値
ユーザ側でスクリプトを作ることが出来るゲーム(カルネジのような)を作ろうと思ってるんだが
ステージごとに初期位置可変なのでLua側に大域変数として全部与えてLuaから必要な変数だけ使う形にしたい。けどどう実現するべきか分からない
上から出来たら簡単だろうなーと思う順に言うと
1 C側からLuaに初期値を与えることが出来る関数がある
2 ユーザ型とかいうの使って色々やると値を作れる
3 変数読む為だけのCの関数を作る
341:デフォルトの名無しさん
07/07/17 16:44:11
質問なんだけど
lua_getfield( L, -1, "test" );
と
lua_pushstring( L, "test" );
lua_gettable( L, -2 );
って何が違うの?
342:デフォルトの名無しさん
07/07/17 21:00:19
Squirrelムズイな・・・というか、Lua系というか。
>>166さんをマジで期待したいぜ・・・
343:デフォルトの名無しさん
07/07/18 14:51:43
>>341
どっちも同じ。
テーブルからキーが文字列の値を取り出すことは
頻繁にあるから前者が用意されているのよ。
344:デフォルトの名無しさん
07/07/18 20:24:00
>>342
何が難しい?
345:デフォルトの名無しさん
07/07/18 22:08:00
Ruby好きはLuaが好き、
Java好きはSquirrelが好きって感じだね
346:デフォルトの名無しさん
07/07/18 23:44:03
C++好きはXtalが好きと言われるくらいにXtalが発展してくれるといいんだけどなぁ
347:デフォルトの名無しさん
07/07/19 02:49:10
>>345
Lua好きがRuby好きとは限らない罠
348:デフォルトの名無しさん
07/07/19 04:28:49
>>344
ホスト言語からの大域変数の取得でいきなり、つまづいた
今はできたけど・・・
APIリファレンスは、日本語のものがあって助かるんだけど、
リファレンスの説明だけじゃ、わかんなくて、本家にもAPIの使用例が全然ないので、
これ、何に使うのってことが一杯・・・
何かするにも手探り状態
もっとも肝心なのは、関数呼び出しとか、変数の取得などの効果的なラッピングの方法なんだけど。
まさか、ホスト側でSquirrel APIそのまま使うわけにもいくまい。
C++じゃないんで、SqurrelPlusなどつかえなくて(参考にはしてるが、なかなかにきっかい)
>>345
Ruby好きだけど、Squirrelの方が文法は好きだよ
349:デフォルトの名無しさん
07/07/19 08:08:19
Luaは速いけどRubyは遅いからちょっと違うかな
350:デフォルトの名無しさん
07/07/19 08:18:33
RubyはS。
ぅあはM。
に決まってんだろ
351:デフォルトの名無しさん
07/07/19 22:29:43
luaでFFTを実装しようと思うんだが
言語使用が違うからCやjavaから単純に移植というわけにはいかないので
どなたかC2LUAやらjava2luaのようなトランスレーターを知っていたら
是非教えて貰いたいのだけど
352:デフォルトの名無しさん
07/07/20 02:55:30
普通、トランスレーターはわざわざ遅くなる方向には作らんよ。
少し考えれば判る事だろ。
それとFFTがFINAL FANTASY TACTICSだとかいう
逆上脊髄反射ネタも禁止な。
353:デフォルトの名無しさん
07/07/20 04:03:01
URLリンク(www.kurims.kyoto-u.ac.jp)
にある再帰版のFFTならluaに移植できるんじゃない?
354:デフォルトの名無しさん
07/07/20 07:13:51
そういう方面はバインディング書くのが妥当かなー
355:デフォルトの名無しさん
07/07/20 07:35:02
foo.f.bindenv(foo)
これ汚ねえなー
デリゲート渡したいだけなのに、何だよbindenvって
356:デフォルトの名無しさん
07/07/20 22:21:27
せっかくなんでFFTルーチン手直ししてみた。
ネタ元はRigidChipsスレみたいなのでこっちに書き込み。
>>スレリンク(gameama板:498番)
実装が間違ってないとして・・・
64点なら1万回繰り返して4秒程度だったので(Core2Duo)
実用も可能そう。
luaソース:URLリンク(hammm.dw.land.to)
357:デフォルトの名無しさん
07/07/23 02:35:57
Perl好きだけどLuaの方が親近感は沸く
358:デフォルトの名無しさん
07/07/23 02:36:33
ぅあー助けて
359:デフォルトの名無しさん
07/07/24 11:53:01
>>346
Xtalいいよね。
早く1.0にならないかなぁ
360:デフォルトの名無しさん
07/07/24 18:39:57
>>359
1.0になってもバグフィックスぐらいで殆ど機能変わらないと思うぞ。
てか早く1.0になって欲しかったら沢山使ってバグ報告しようぜ。
361:デフォルトの名無しさん
07/07/24 19:12:45
Xtalは仕様が変態的で面白いんだが実装が首傾げたくなるんだよなぁ
"1" == 1はnullが返って1 == "1"はエラーとか。
前者がC++からsend使ってて
後者がXsrcで存在しないString::op_eq_r_Intを呼んでるせいだと思うんだが。
362:デフォルトの名無しさん
07/07/25 07:22:08
PC初心者でも弄り易くというぅあの思想が好きだ。
363:デフォルトの名無しさん
07/07/25 19:14:56
Luaは学習用に使えるサンプルやチュートリアルが少なすぎるな
364:デフォルトの名無しさん
07/07/25 23:15:37
lua-wikiのチュートリアルやらsample-codeやら見たけど
なかなか面白い
Pascalの文法に近いので、Pascalのサンプルやチュートリアルをluaでも動くようにしたらいいのではないだろうか
googleのソースコード検索で探してみたが、あまりヒットしなかった
365:デフォルトの名無しさん
07/07/25 23:46:40
ところでLuaのコルーチンで途中から別の関数に切り替えるのってどうすればいい?
例えばFunc0っていう関数の途中でyieldしてC++側に制御戻した後、
次にresumeするとFunc1という関数の最初から始まるようにする感じ。
単純にC++からの関数呼び出しでやると、yieldのところでエラー出てしまい、その後resumeしても戻らないんだが・・・。
366:デフォルトの名無しさん
07/07/26 01:54:57
やりたいことがいまいち不明だけど yield のあとに return Func1() って書くという意味ではないのかな。
367:デフォルトの名無しさん
07/07/26 02:14:50
lua_tostringで得られたポインタは、解放しなくていいんでしょうか?
368:デフォルトの名無しさん
07/07/26 13:09:04
>>367
チュートリアルの、lua_tolstringのところに
Because Lua has garbage collection, there is no guarantee that the pointer returned by lua_tolstring will be valid after the corresponding value is removed from the stack.
ってあるから、ガベージコレクタで解放されるものだと思っています。
369:デフォルトの名無しさん
07/07/26 23:57:05
>>366
Luaのスクリプト側で次にresumeして戻る位置を決めるんじゃなくて、C++側から切り替えたい場合どうすればいいのかな、と。
ちょっと記述不足だった。すまん。
370:デフォルトの名無しさん
07/07/27 13:53:53
スクリプトでできることはすべてC側からもできるよ
371:チラシの裏
07/07/27 20:51:33
LuaをC++で使うときは
lua.hの代わりに、lua.hppをインクルードする、っと
372:デフォルトの名無しさん
07/07/28 19:30:45
UNICODEに対応していれば、ぅあ.hでもおk
373:デフォルトの名無しさん
07/08/01 16:40:05
Squirrelに関して質問。
SqPlusのソースを呼んでいるのですが、
SquirrelObjectで使っている、sq_addref というAPIがあり、
リファレンスによると、参照カウンタのインクリメントとあるのですが、
これって、つまり、C++側で作成した SquirrelObject で束縛?するためでしょうか?
sq_addref を sq_release しない限りは、squirrelが勝手に開放しないということで
あってるでしょうか?
374:デフォルトの名無しさん
07/08/01 16:41:13
読みにくくてすまそ。
SqPlusのソースを呼んでいるのですが、
SquirrelObjectで使っている、sq_addref というAPIがあります。
リファレンスによると、参照カウンタのインクリメントとあるのです。
これは、つまり、C++側で作成した SquirrelObject で HSQOBJECT を束縛?するためでしょうか?
sq_addref を sq_release しない限りは、squirrelが勝手に開放しないということで
あってるでしょうか?
375:デフォルトの名無しさん
07/08/01 19:17:53
参照カウンタのインクリメントは参照カウンタのインクリメントだよ
けどその理解で多分間違ってないと思う
376:デフォルトの名無しさん
07/08/01 19:39:20
URLリンク(ll.jus.or.jp)
377:デフォルトの名無しさん
07/08/01 21:08:24
Wikipedia項目リンク
- sq_addrefで参照カウンタが+1
- sq_releaseで参照カウンタが-1 (0となったらsq_resetobjectが呼ばれる)
378:デフォルトの名無しさん
07/08/01 22:04:59
サンクス。
あ、いや、参照カウンタ知らないわけではないすw
HSQOBJECTを保持するときは、こうやって参照カウンタをいじるのがその流儀なのね、思っただけなので。
379:デフォルトの名無しさん
07/08/02 16:53:20
Squirrelの質問です。
SqPlusの SquirrelVM.cpp の SquirrelVM::RunScript を見ています。
sq_gettopでスタック位置を確認しながら、見ていたのですが、
この関数、スタック操作が、間違ってませんか?
sq_callが成功した時点で、二つスタックが残っているので、
sq_popで2つポップしないといけないはず・・・。
バージョンは、ersion 2.1.1 stable
(でもHISTORYみてたら、
-sq_call() doesn't pop the closure (just the params) って書いてあるんだよなあ)
SquirrelObject SquirrelVM::RunScript(const SquirrelObject &o,SquirrelObject *_this)
{
SquirrelObject ret;
sq_pushobject(_VM,o._o); //スタックに残る
if(_this) {
sq_pushobject(_VM,_this->_o); //引数1
}
else {
sq_pushroottable(_VM); //引数1
}
if(SQ_SUCCEEDED(sq_call(_VM,1,SQTrue,SQ_CALL_RAISE_ERROR))) {
// 成功したら、スタックに戻り値が残る
ret.AttachToStackObject(-1);
sq_pop(_VM,1); // sq_pop(_VM,2);では?
return ret;
}
sq_pop(_VM,1); // 失敗したら、スタックに
throw SquirrelError();
}
380:デフォルトの名無しさん
07/08/02 16:55:10
sq_pop(_VM,1); // 失敗したら、スタックに1つだけ残っている
throw SquirrelError();
}
なんで、そう思ったかというと、
testSqPlus2.cppが残っているはずのスタック(戻り値)を全然考慮してないからなんですけど
381:デフォルトの名無しさん
07/08/02 17:03:52
ごめんちょっと勘違い
バージョンとHISTORYは、SqPlusじゃなくて、Squirrelのですね。
SqPlusのバージョンは、stable 25でした。
382:デフォルトの名無しさん
07/08/02 18:30:48
URLリンク(squirrel-lang.org)
383:デフォルトの名無しさん
07/08/02 18:48:57
>>382
どっちも日本人なのか・・・
384:デフォルトの名無しさん
07/08/02 19:09:04
>>382
同じバグかYO!\(^o^)/
サンクス。
おれの判断は正しかったようだ。
つか、公式フォーラムくらい検索しろ > 俺
コミッターもメンテナーにも日本人居るのなw
385:デフォルトの名無しさん
07/08/03 04:06:58
生のSquirrelでなくSqPlus使うと
コード大きくなたり重くなったりするの?
386:デフォルトの名無しさん
07/08/03 07:27:17
もともと重いからあまり関係ないような
387:デフォルトの名無しさん
07/08/04 21:27:01
LuaLua魂オワタ
388:デフォルトの名無しさん
07/08/04 21:37:39
>>387
参加したのか?
389:デフォルトの名無しさん
07/08/04 22:18:34
ぅあぅあ
390:デフォルトの名無しさん
07/08/04 22:58:17
行った。
・上野氏(みんな読んでるLuaマニュアルの訳者)によるLua紹介。
「遺伝子関連のプログラムを組む上で最も都合が良かった」
・Luaの速度がXtalとPnutsから比較対象にされてた
・Xtalは頑張って作ってる印象。作者ナイスキャラ
・Squirrelは上野氏が一言触れた程度
その他はプレゼン中にチャットログ(Lingr)が流れる奴とか、嘘だらけのmatzプレゼンとか、いろいろ。
全体的には演者のレベルが結構高かった印象。
体調が最悪じゃなければなかなか良かった。
391:デフォルトの名無しさん
07/08/05 03:55:44
Xtaの彼はテンパっちゃったのか「切迫」を正しくない使い方で
連発してたね。気持ちはわかるがもうちょっとおちつけとw
392:デフォルトの名無しさん
07/08/05 19:33:36
>・Luaの速度がXtalとPnutsから比較対象にされてた
Luaメジャーじゃん?と思った
393:デフォルトの名無しさん
07/08/06 03:09:03
測るだけに
394:デフォルトの名無しさん
07/08/06 08:06:31
>>393
山田君ざぶとん1枚あげて!
395:デフォルトの名無しさん
07/08/06 22:48:18
Lightweight Language Spirit
URLリンク(ll.jus.or.jp)
これかー
LuaLuaっていうからわからんだじゃねーか
Luaだけじゃねえw
つか、Luaの話すくねえw
396:デフォルトの名無しさん
07/08/06 23:57:53
Lua 自体の話は少ないけど、色んなところで触れられてた。>>390 参照
397:デフォルトの名無しさん
07/08/07 02:37:50
> 原著第5版
テクスチャへの描画とか、実際に使う際の普遍的なチップスとかって
載ってますのん?
そういうのは、Game Programming Gems買えって事かな?(そろえたら、赤本よりたけええけどよぉおぉ)
398:デフォルトの名無しさん
07/08/07 02:38:25
誤爆 orz
399:デフォルトの名無しさん
07/08/07 04:06:38
Game Programming Gems といえば
6巻でLuaが扱われてるよね。
読んでないけど、どうなんだろう
400:デフォルトの名無しさん
07/08/08 01:12:02
LL魂、まとめ見てたけど、Cleanとか、Javaとか、OCamlはLLじゃねえw
すでに、適用範囲広がってるな。
普通に、L魂でいいんじゃないのか?
401:デフォルトの名無しさん
07/08/08 01:27:34
lightのL?
ぅあのL?
402:デフォルトの名無しさん
07/08/08 01:55:24
LanguageのLのつもりで書いた > L魂
403:デフォルトの名無しさん
07/08/08 03:01:53
>>400
確かだ一回目でHaskellが取り上げられてるはずだが?
すでにどころか最初から適用範囲も何もあったもんじゃなかったんじゃねえの。
404:デフォルトの名無しさん
07/08/08 04:15:12
>>400
うむ、Cleanの説明で「速い!」って言ってるの見て、これはカテゴリ違うよなーとは思った。
言語まわりの新しい動きをおさえつつ、中心軸はlightweightに置くって感じで理解している・・・
Javaに関してはJythonとかJRubyとかの絡みが主かと。
今後スクリプト言語が動くプラットフォームとして、JavaなのかDLRなのか、みたいな。
そういう流れでは、JLuaとかIronLuaはでないのかと。
lua-lのほう見るとつくってる人は居るっぽいな。
405:デフォルトの名無しさん
07/08/08 04:31:46
IronSequirrel超希望
406:デフォルトの名無しさん
07/08/09 00:24:37
Lua魂開催しよう!!
407:デフォルトの名無しさん
07/08/09 14:48:53
参加者1名とかで終わりそう
408:デフォルトの名無しさん
07/08/10 23:53:06
要するにOff会じゃないのか?
409:デフォルトの名無しさん
07/08/11 10:52:37
>>407は来てくれるってことだね!
410:デフォルトの名無しさん
07/08/11 13:11:25
>>407が参加したら主催者と合わせて参加者2名になっちゃうでしょ
411:デフォルトの名無しさん
07/08/11 18:57:01
主催者すら来ないOff、ってのもそれはそれで魅力的だけどな
412:デフォルトの名無しさん
07/08/13 03:00:30
それはもう主催者って呼び方が適当じゃないなw
企画者とか。
413:デフォルトの名無しさん
07/08/19 21:03:14
>166
もう三ヶ月経ってますよ。ちょっと焦らしすぎじゃーないですかね?
414:デフォルトの名無しさん
07/08/19 21:38:34
お前ら他人の作った糞言語使って嬉しいか
おれは我慢ならん
415:デフォルトの名無しさん
07/08/19 22:07:07
C++だってJavaだってC#だって他人が作った言語なんだが、お前は使わないのか?
これらの言語が糞じゃなくてぅあが糞だというのなら、それはお前の主観であって
他人に押し付けるものではないよ
416:デフォルトの名無しさん
07/08/19 22:14:12
糞言語かどうかは俺が決める事であって、
C++やJavaやC#がそうだとは一言も言ってないが
417:デフォルトの名無しさん
07/08/19 22:16:14
糞言語判定委員乙
418:デフォルトの名無しさん
07/08/19 22:22:01
他人のレスは初めの一行しか読まないのな
419:デフォルトの名無しさん
07/08/19 22:25:06
>>416は明らかにレスを読んでないし、
恐らく普段から人の話を聞かない自己中な人間なんだろうね。
糞言語判定委員乙
420:デフォルトの名無しさん
07/08/19 22:46:34
決め付けは良くない。
421:デフォルトの名無しさん
07/08/19 22:59:14
↓糞言語番付
422:デフォルトの名無しさん
07/08/19 23:05:42
1.糞言語かどうかは俺が決める事
2.糞言語かどうかは俺が決める事
3.糞言語かどうかは俺が決める事
4.糞言語かどうかは俺が決める事
5.糞言語かどうかは俺が決める事
決め付は良くない。
423:デフォルトの名無しさん
07/08/19 23:09:17
糞言語かどうかは俺が決める事であって、決め付けは良くない。
424:デフォルトの名無しさん
07/08/19 23:25:44
いや俺が決めるやるってば.決め付けは良くない.
425:424
07/08/19 23:27:04
日本語がおかしいかどうかも俺が決める.
426:デフォルトの名無しさん
07/08/19 23:52:53
俺がおかしいかどうかは…orz
427:デフォルトの名無しさん
07/08/20 00:02:59
俺が糞かどうかは日本語がおかしいかどうかで決まった。
428:デフォルトの名無しさん
07/08/20 01:02:36
俺が糞かどうかはお前が決める事であって、
お前が糞だとは一言も言ってないが
429:デフォルトの名無しさん
07/08/20 08:06:52
日本語は糞言語じゃないよ
430:デフォルトの名無しさん
07/08/20 08:25:17
日本語は糞言語だって土屋賢二が言ってた
431:デフォルトの名無しさん
07/08/20 08:27:26
LightWeight的観点からすれば日本語は糞
432:デフォルトの名無しさん
07/08/20 08:33:55
ついでにRubyは糞
433:デフォルトの名無しさん
07/08/20 09:29:10
スレが伸びてると思って楽しみにしてきてみれば
またこれか
学習しろ俺
434:デフォルトの名無しさん
07/08/20 14:18:58
まあお前らはそうやって糞言語を決めつけてればいいさ
その代わりPerlたんは俺の嫁だからな
435:デフォルトの名無しさん
07/08/20 23:00:02
∧_∧ ┌──────
◯( ´∀` )◯ < 僕は、LISPちゃん!
\ / └──────
_/ __ \_
(_/ \_)
lll
436:デフォルトの名無しさん
07/08/20 23:13:00
Cで書いてあるのが良言語でC++で書いてるのが糞言語。この分類で9割方
当たる。
437:デフォルトの名無しさん
07/08/20 23:25:12
どこがどう糞なのか書いてくれると言語談義に花が咲くのに
438:デフォルトの名無しさん
07/08/21 00:14:12
C++はいろんな機関で策定されてきた標準ライブラリにのみ価値があり、
それ以外の自家製オナニーライブラリは糞と言っていい。
Cで書き直せグズ
439:デフォルトの名無しさん
07/08/21 00:49:14
boostとかほんとゴミだね
440:デフォルトの名無しさん
07/08/21 02:20:19
↓MFCはおまえの嫁
441:デフォルトの名無しさん
07/08/21 02:49:19
/ ̄ ̄ ̄ ̄\
/ :: ヽ
/ \ / |
(∂| | ・ ・丿 |
ヽ| "" "" |
| ___ | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
\ /__/ / < やっぱぅあはすげえや!
/ヽ /\ \_________________
442:166
07/08/22 18:11:01
squirrelの解説書きました
ごめん、もうめんどくさくなってすっぽかすつもりでした
かなり投げやりですがとりあえず約束は守りましたよ〜
443:デフォルトの名無しさん
07/08/22 21:08:02
>>442
URLを張ってくれ
444:デフォルトの名無しさん
07/08/22 22:14:06
wiki
445:デフォルトの名無しさん
07/08/22 23:31:20
ジェネレータが役に立たない理由が気になる.
何をどう直すつもりなのかも.
446:デフォルトの名無しさん
07/08/23 00:18:17
>>445
その辺をちょっと書き足しました
447:デフォルトの名無しさん
07/08/23 00:53:40
速度にナシつけるならもうちょっと裏付けを示そうよ
delegateの使い方が無茶苦茶だよ
threadあたりは突込みどころが多すぎてもう
448:デフォルトの名無しさん
07/08/23 11:11:51
>>447
速度に関しては確かにはっきりと言えることじゃないですね
delegateは非常駐っぽいことをやる方法がこれしか思いつかなかったので…
突っ込みどころあるなら具体的に言ってもらえると助かります。個人的にそれを期待して書いてみたというのもあるので
449:デフォルトの名無しさん
07/08/23 11:27:58
俺も期待してる
450:デフォルトの名無しさん
07/08/23 23:20:45
どおおおんだけええええええ
としかリアクションが思い浮かばない
451:デフォルトの名無しさん
07/08/23 23:25:17
>速度にナシつけるならもうちょっと裏付けを示そうよ
ナシって、
>その使い方ならゲームでも大丈夫でしょうが、
>スクリプトでガリガリ計算を行うようだと速度面で問題になってくると思います。
この部分か?他に見当たらないが。
これは当然の話で、裏づけも糞もないだろ、と思う。
452:デフォルトの名無しさん
07/08/23 23:43:10
言ってることがどんなに真だろうが
実際のデータがなかったら何も言っていないのといっしょだよこういう話は
453:デフォルトの名無しさん
07/08/23 23:47:00
>>452
はいはい。お前は口を出すとマイナスにしかならないから黙っててねこういう話は
454:デフォルトの名無しさん
07/08/24 00:13:42
>>453
>>452が何をいってるのかちゃんと理解できてるか?
キレてるのだけはわかるんだが
黙ってろとかどんだけだよ
455:デフォルトの名無しさん
07/08/24 00:20:08
どおおおんだけええええええ
456:デフォルトの名無しさん
07/08/24 01:25:58
まあいろいろと突っ込まれるのは覚悟してました
Squirrelのことだったらまだしもそれ以前に用語の使い方がおかしかったりとか
そういう指摘もあるだろうなあ、と
それはもう未熟っぷりを晒す覚悟でしたのでいいのですが、
Squirrelに関する間違いはここで出して欲しいです。それをまとめたいので。
特に>>448さんのdelegateに関しては具体的に理由を聞きたいです
常駐、非常駐的なことをするのって他に方法あるんですかね?
個人的にそこら辺は死活問題なんですよね
457:デフォルトの名無しさん
07/08/24 01:26:54
安価447だったw
458:デフォルトの名無しさん
07/08/24 01:46:54
つーかめんどくさいとか、投げやりとか書いてるし、
最初から真面目にやろうとしてないじゃん。
スレは荒れるし、入門者が間違った知識覚える恐れもあるし、
やる気無いんだったら別にやらなくていいから、変なこと書かないでくれ。
459:デフォルトの名無しさん
07/08/24 01:48:57
>>454
なにキレてんの?
460:デフォルトの名無しさん
07/08/24 01:50:07
>>458
間違いを指摘するやる気もないなら、お前が黙ってろって話だと思うよ
461:デフォルトの名無しさん
07/08/24 01:54:45
>>460
黙ってろとかどんだけだよ
>>458
書かないでくれとかどんだけだよ
どおおおんだけええええええ
462:デフォルトの名無しさん
07/08/24 02:04:02
どんだけとかどんだけだよ
463:デフォルトの名無しさん
07/08/24 02:13:18
>>461
どんだけ〜言われたのが相当気に障ったのか相当気に入ったのか知らないけど
書きたいだけならどっか他のとこで発散してきてくれると助かる
464:デフォルトの名無しさん
07/08/24 02:28:00
このスレ定期的に小学生の口ゲンカみたいなやりとりがあるけど
luaってそういう言語だったっけ
複数手前のスクリプトのステートメントを参照できる変数があって
それを一部書き換えてevalできるとか
すごいプログラムがかけそうだが
465:デフォルトの名無しさん
07/08/24 02:47:24
>>463
キレてんのはお前だろ。どっかいってね。
466:デフォルトの名無しさん
07/08/24 03:49:14
>>456
常駐、非常駐的なことってのがよくわからないんだけど
いらなくなったら消すテーブルの名前をあらかじめ決めておいて
スクリプトの中でいらなくなったら消すものはそのテーブル内に定義しておいて
そのテーブルをいらなくなったら消す
じゃだめなの?
467:デフォルトの名無しさん
07/08/24 07:54:03
オブジェクト指向のスクリプト言語が遅いのはほぼ定説だと思うが
468:デフォルトの名無しさん
07/08/24 17:56:15
>>466
リファレンスにある関数登録みたいなやり方でテーブルを登録するってことですか
そうかー、普通そうするのか
469:デフォルトの名無しさん
07/08/24 18:07:59
でもそれって、GCやrefcountを阻害するだけじゃない?
470:デフォルトの名無しさん
07/08/25 00:12:03
>>468
どうも納得されてるみたいだけど
常駐、非常駐的なことってのが未だに謎なので少し説明してよ
>リファレンスにある関数登録みたいなやり方
ってどこのこと?
あまりにニッチな要求に応えなくちゃならんならスクリプトでどうにかしようとするより
squirrelのソースコードいじるほうが利口な場合もあるかもしれないよ?
471:デフォルトの名無しさん
07/08/25 00:41:37
>いらなくなったら消す
いるものは残して、いらないものは消す。おっしゃってる通りのことをやりたいだけです。
ルートテーブルに全部のスクリプト読み込んでたら、そういう区別ができないじゃないですか
>>リファレンスにある関数登録みたいなやり方
>ってどこのこと?
SQFUNCTION型の関数をルートテーブルに登録するやつみたいなやり方…、じゃないんですか?
472:デフォルトの名無しさん
07/08/25 01:46:07
>>471
APIでやるならそのとおり
↓みたいなスクリプトをルートテーブルをpushしたあとdofileしちゃってもいいし
tmptable <-
{
a = function(v) { return v + 1; },
v1 = 0,
v2 = 3.1415
};
473:デフォルトの名無しさん
07/08/27 11:16:30
>>472
166はコンパイラを削ってつかっている予感
常駐の意味がよくわからないけど、
がんばって使ってる感がいいね
474:デフォルトの名無しさん
07/08/29 22:09:09
IronLua じゃなくて Nua かよ(w
URLリンク(www.codeplex.com)
475:デフォルトの名無しさん
07/08/29 23:09:00
ぬあ?
476:デフォルトの名無しさん
07/08/30 01:12:36
あえて外人っぽく発音すればヌワだが
477:デフォルトの名無しさん
07/08/30 01:22:53
にょわーっ
478:デフォルトの名無しさん
07/08/30 20:47:36
Nuaで検索するとFate系ばっかだな
479:デフォルトの名無しさん
07/09/01 13:13:08
>>166さんの文章ってどこ?
Squirrel - Lua/組み込み系言語 Wiki*
URLリンク(wikiwiki.jp)
こっちにもないんだけど・・・roz
480:デフォルトの名無しさん
07/09/01 13:18:28
とりあえず張られてるリンクを探してみるとか
そういうこと考えないのか?
481:デフォルトの名無しさん
07/09/01 13:41:26
>>480
お!はてなのやる気のないゲームプログラマさんのページか!
dクスだぜ
じっくりよむぜ
482:デフォルトの名無しさん
07/09/02 21:09:16
質問
lua_State *L = lua_open();
int* hoge = new int;
lua_register(L, "hoge", hogehoge);
luaL_dofile( L, "hoge.lua");
この時、関数hogehoge内で変数hogeをいじりたいのですが、
どうすればいいのでしょうか?
グローバルに置くとかしか解決方法がないのならあきらめますが…
483:デフォルトの名無しさん
07/09/03 16:01:58
>>466
思ったんですが、そのやり方で登録した関数はスクリプト側から呼び出せないんじゃないでしょうか
484:デフォルトの名無しさん
07/09/04 11:57:00
API はまだよく知らないんですが、ローカル変数をほかの関数からいじるには、
その関数に変数の参照を渡す必要があります。
たぶんテーブルで囲んであげればいいです。Lua のコードで書くとこんな感じ。
function hogehoge(box)
box[1] = 456
end
local hoge = {123}
hogehoge(hoge) -- ここで hoge の内容が変わる
485:デフォルトの名無しさん
07/09/04 15:04:00
Generic Pascal Lua Library
URLリンク(www.eonclash.com)
486:デフォルトの名無しさん
07/09/04 19:15:48
>>485
DelphiとFPCをサポートしてる?
487:デフォルトの名無しさん
07/09/04 20:50:51
>>482
lua_register(L, "hoge", hogehoge);
を
lua_pushlightuserdata(L, static_cast<void*>(hoge));
lua_pushcclosure(L, hogehoge, 1);
lua_setglobal(L, "hoge");
に変えればいんじゃね?
hogehogeの中身は
int hogehoge(lua_State *L)
{
int* hoge = static_cast<int*>(lua_touserdata(L, lua_upvalueindex(1)));
// hogeを使っていろいろ
}
あと、hogeはどこでdeleteするの?
delete後にhogehogeを呼ばれたらアウト
488:デフォルトの名無しさん
07/09/11 02:21:22
luabindのこれってバグ?
object.hpp:256 ---------
template<class LHS, class RHS>
typename enable_binary<bool,LHS,RHS>::type
operator!=(LHS const& lhs, RHS const& rhs)
{
return !(lhs < rhs); // '<' => '==' の間違い?
}
---------
luabinder の意見求む!!
489:デフォルトの名無しさん
07/09/18 15:27:05
age
490:デフォルトの名無しさん
07/09/18 23:28:09
ぅあ
491:デフォルトの名無しさん
07/09/19 21:23:46
ぅあ
492:デフォルトの名無しさん
07/09/22 20:39:47
ょゅぅょゅぅ
493:デフォルトの名無しさん
07/09/23 19:05:00
|ナ|ナ|ナ
494:デフォルトの名無しさん
07/09/24 00:30:35
っょぃっょぃ
495:デフォルトの名無しさん
07/09/24 00:37:35
ょゎぃょゎぃ
ぅあ
496:デフォルトの名無しさん
07/09/28 17:42:45
ドゴォォォ
∞ ぅゎ ょぅι゛ょ っょぃ
┃( '-') 、(;´д`)
┣ノ、 )= 三 )n ) Σ
〉 / / <
497:デフォルトの名無しさん
07/10/14 12:47:04
皆さんLuaインタプリタを何でコンパイルしてる?
C言語として
=> lua_gettable等がlongjmpかますので
C++と一緒に使うのは相当つらい。
C++言語として
=> 上記問題は解決する(longjmpでは無く
throwつかうから)がluaとリンクするプログラム
は全てC++でコンパイルする羽目になる
C++言語として&LUA_APIをextern "C"として宣言
=> 割合ましだが、相変わらずLuaとリンクする
プログラムは-fexceptions等をつけてコンパイル
する必要あり。
意見よろ
498:デフォルトの名無しさん
07/10/14 13:27:27
つDLL
499:デフォルトの名無しさん
07/10/14 14:09:07
俺は
>C++言語として&LUA_APIをextern "C"として宣言
Cのライブラリを使う予定がない場合はextern "C"無しでもいいかも。
LuaのソースコードがそのままC++でコンパイルできると知った時はちょっと感動したもんだ。
500:497
07/10/14 14:43:32
>>499
やっぱそれが妥当ですかねぇ。
ただ、Cのライブラリ使う場合Cのライブラリを-fexceptions付き
でコンパイルしないといけないので(lua->Cライブラリ->luaが起こる
場合)、ソースが手に入ることが前提になるんだよね。
linux&gccな環境でソースが手に入らないことはまれだろうけど。
501:デフォルトの名無しさん
07/10/14 15:38:22
そもそもCには例外処理が言語に組み込まれてないんだけど、 -fexception つけると
何が変わるの?
502:497
07/10/14 16:26:57
>>501
えーっと、gccの話ね。(VCにも似たオプションがあったはず)
関数呼び出しが”C++<1:try> => C<2> => C++<3:throw>” となる場合
<2>の部分のスタックをまき戻す為の情報を付加しているんだと
思う。自信ないけど。
これが無いと例外発生時にAbortしてしまう。
>>499の例で言うと、
lua(C++) => C言語ライブラリ => lua_gettable(...)
なんて場合、lua_gettable内で発生した例外が
C言語ライブラリ内を通ることになる。
503:デフォルトの名無しさん
07/10/14 16:57:07
>>502
つけてもつけなくても素通りするだけで変わらないと思ってたけど、
つけないと abort しちゃうのか。
URLリンク(gcc.gnu.org)
-fexceptions
"... However, you may need to enable this option when compiling C code that needs to interoperate properly with exception handlers written in C++. ..."
なんかぼかして書いてあるけど、そういうことね。
ありがと。
504:デフォルトの名無しさん
07/10/24 19:54:40
hoshu
505:デフォルトの名無しさん
07/10/27 13:51:35
luaファイルで標準ライブラリの関数(math.randomとか)を使った関数を定義
しC++側からその関数を呼び出すとlua_pcallのところで失敗します。きちん
とluaopen_math()なども呼び出しているのですが・・・
同じ経験がある人とかいませんか?
506:デフォルトの名無しさん
07/10/27 16:48:44
>>505
lua_pcallの戻り値とエラーメッセージは?
それを確認すると解決の糸口が見つかると思う。
507:デフォルトの名無しさん
07/10/27 17:29:12
lua_pcallの戻り値は2なんで実行時エラーの模様です。デバッガで追ってみると
スタックからpopするところでエラーが出ていました。引数はきちんと
スタックにつんでいるので問題ないと思うんですが・・・
標準ライブラリを使わない関数とかは普通に実行できるんで、全く理由が
分かりません。
508:デフォルトの名無しさん
07/10/27 17:55:59
再現するソースを見せるんだ
509:507
07/10/27 18:26:57
//関数呼び出し部分
lua_getglobal(m_L, "hoge");
lua_pcall(m_L, 0, 1, 0); //ここでエラー
int ret = static_cast<int>(lua_tonumber(m_L, -1));
//luaファイルで定義した関数
function hoge
return math.random(100);
end
luaL_loadfile()は呼び出し済みです。
510:506
07/10/27 19:03:01
>>507
戻り値が0以外の時は文字列型のエラーメッセージが
スタックのトップに置かれているからそれを見れ。
511:デフォルトの名無しさん
07/10/27 19:52:02
>>509
luaopen_math呼んで無いじゃん。
呼んでる部分を含めた再現ソースを見せなさい。
512:507
07/10/27 22:31:55
>>510
スタックトップのエラーメッセージを調べたら引数が足りないというエラー
でした。マニュアルにはmath.randomの定義は以下のように書いてあったので
普通に通るもんだと思っていたんですが・・・
「引数無しで呼ばれると、math.random は [0,1) の範囲の実数の疑似乱数を
返す。数値 n を渡すと、math.random は [1,n] の範囲の整数の疑似乱数を
返す。 2つの引数 l と u を渡して呼んだときは、 math.random は [l,u]
の範囲の整数の疑似乱数を返す。」
引数を2個で渡すとエラーは出なくなったんですが、常に0が返ってきます。
引数0個だと正常に動作します。何なんでしょうね。
>>511
luaopen_mathは呼んでいます。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5045日前に更新/210 KB
担当:undef