1 名前:デフォルトの名無しさん mailto:sage [2013/03/10(日) 15:10:32.28 .net] LuaやSquirrelやAngelScriptなどアプリケーションへの組み込み用途で 使われるプログラミング言語についてのスレッドです まとめwiki(なにか質問する前に必ずみること!) wikiwiki.jp/lua/ その他の参考URLは>2から ■前スレ 【Lua】組み込み系言語総合 その5【Squirrel】 toro.2ch.net/test/read.cgi/tech/1321063450/ ■過去スレ その4 hibari.2ch.net/test/read.cgi/tech/1301414458/ その3 hibari.2ch.net/test/read.cgi/tech/1272643397/ その2 pc12.2ch.net/test/read.cgi/tech/1243210301/ その1 pc12.2ch.net/test/read.cgi/tech/1205208141/ プログラミング言語 Lua その3 pc11.2ch.net/test/read.cgi/tech/1160799232/
435 名前:デフォルトの名無しさん mailto:sage [2014/06/20(金) 17:32:59.29 ID:TUABdWdO.net] リンクが貼られてるから git clone https://github.com/NLua/NLua.git cd NLua git submodule update --init --recursive で入るんだけどね
436 名前:デフォルトの名無しさん mailto:sage [2014/06/29(日) 14:59:39.60 ID:SaBki4ZJ.net] C++プログラムへのmrubyの組み込みで教えてください。 mrubyのprint出力をホスト側で受けるにはmrb_define_methodで"__printstr__"に 関数を設定すればいいと聞いたのでそのようにしているのですが、標準出力と 標準エラー出力の区別ってできないんでしょうか?
437 名前:デフォルトの名無しさん mailto:sage [2014/06/30(月) 15:10:51.45 ID:02CSsGE4.net] >>433 mruby-print/src/print.c 内の printstr で stdout とハードコーディングされてるので、stderr に出したいときはここを書き換えるか、新たに stderr に出すメソッドを追加すればいいのでは?
438 名前:デフォルトの名無しさん mailto:sage [2014/06/30(月) 23:03:22.29 ID:FuMPZ5KZ.net] ありがとうございます。 printstrのフックでは受け取れないメッセージがあったのでエラー出力には別のフックがあるのかと 思ったんですが、ソース見てみたらそこかしこでfwrite使って直接出力してますね。 確かにこれだと自分でソースいじらないとならないですね。
439 名前:デフォルトの名無しさん mailto:sage [2014/07/02(水) 16:59:10.88 ID:JkuzDLMY.net] 最近の lua とか squirrel とか python の実行速度を比較したページってないかね? 4、5年ぐらい前の奴なら英語サイトの奴があるけど、最近はどうなのかなと思って。
440 名前:デフォルトの名無しさん mailto:sage [2014/07/02(水) 21:40:33.67 ID:z0TOEu0h.net] 速さはjit環境の有無で大分違うよね pythonだとpypy? luajitは今後5.3移行にちゃんと追従してくれるか心配だね。 組み込み用としてのメリットはluaには他にもいろいろあるだろうけど jit環境が追従していかないとmrubyあたりに追い抜かれる?
441 名前:デフォルトの名無しさん mailto:sage [2014/07/03(木) 07:39:27.54 ID:FjTkZ2C1.net] jit関係ないっしょ
442 名前:デフォルトの名無しさん mailto:sage [2014/07/05(土) 14:29:38.02 ID:MeYLeon+.net] AngelScript|Д`)<AngelScriptJITは2.27に対応してるな
443 名前:デフォルトの名無しさん mailto:sage [2014/07/05(土) 21:54:08.81 ID:K5ikJkFl.net] >>439 ASがのけ者にされてたからちょっと安心した
444 名前:デフォルトの名無しさん mailto:sage [2014/07/06(日) 06:19:08.04 ID:xkFVsdDO.net] angelscript今までなぜか無視してたけど言語仕様見てきたら結構よさそうだな これコンパイル時に全部型チェックしてくれるの?
445 名前:デフォルトの名無しさん mailto:sage [2014/07/06(日) 12:38:13.11 ID:uyyLiQuX.net] angelscriptの最大の問題はこれならC++直接書くのとかわらなくね? という疑問が拭えないことだ
446 名前:デフォルトの名無しさん mailto:sage [2014/07/07(月) 01:12:10.12 ID:KmCWtuSa.net] >>442 どうしてもスクリプトにしないといけない箇所があったときは 慣れ親しんだC++に近い文法でスクリプト書けるってのは凄い利点だよ
447 名前:デフォルトの名無しさん mailto:sage [2014/07/07(月) 01:43:37.99 ID:PzOLkwtR.net] そもそも「どうしてもスクリプトにしないといけない箇所」なんてものは 思い込み以外では存在しない訳で
448 名前:デフォルトの名無しさん mailto:sage [2014/07/07(月) 01:49:05.61 ID:X/HL5rf/.net] (゚Д゚) ハア??
449 名前:デフォルトの名無しさん mailto:sage [2014/07/07(月) 02:26:29.4
] [ここ壊れてます]
450 名前:2 ID:amtUtvKD.net mailto: >>442 組み込みやすくもないし 書きやすくもないんだよね しいて言えば スクリプタを管理する立場の人にとっては 手間が減り楽が出来るのかもしれないね 現実社会でもよく見られる構図だけど 奴隷頭ってやつだな [] [ここ壊れてます]
451 名前:デフォルトの名無しさん mailto:sage [2014/07/07(月) 07:47:10.67 ID:3MsBFfON.net] その点Luaはプログラマではない者が使いやすいことを理念としているからな。 ただし英語程度はできることが前提だが。
452 名前:デフォルトの名無しさん mailto:sage [2014/07/07(月) 09:42:19.00 ID:n/CZjLr0.net] [要出典]
453 名前:デフォルトの名無しさん mailto:sage [2014/07/07(月) 10:01:11.88 ID:kMcKP8+6.net] 実行時コンパイルできるC++って考えるといろいろと悪用法ありそうなんだけどな
454 名前:デフォルトの名無しさん mailto:sage [2014/07/07(月) 10:23:10.27 ID:KmCWtuSa.net] >>444 C++で作ったMOD前提のM.U.G.E.Nみたいな2Dゲーム キャラクターの描画・行動全て自由に作れるようにするとしたら スクリプトじゃなくて何にすればいい?
455 名前:デフォルトの名無しさん mailto:sage [2014/07/07(月) 11:08:37.90 ID:m9tAIraA.net] 「C++でつくったMOD前提」ならそれこそスクリプトでなくてもいいのでは 制御のインターフェースが外部に全部公開されてるってことだよね
456 名前:デフォルトの名無しさん mailto:sage [2014/07/07(月) 22:51:51.30 ID:KmCWtuSa.net] >>451 書き方が悪かったな MOD前提のC++で作った・・・だわ
457 名前:デフォルトの名無しさん mailto:sage [2014/07/08(火) 14:33:11.22 ID:x77uNS3E.net] AngelScript|Д`)<AngelScriptは組み込み簡単だぞ。 ヘッダ1個インクルードしてライブラリファイル1個リンクするだけでOK。
458 名前:デフォルトの名無しさん mailto:sage [2014/07/08(火) 15:54:28.60 ID:t9t2Zfam.net] AngelScriptはEnvironment-Module-Contextっていう構成がすごくわかりやすくて好きになったな
459 名前:デフォルトの名無しさん mailto:sage [2014/07/08(火) 15:56:54.46 ID:t9t2Zfam.net] まちがえた ×Environment → ○Engine
460 名前:デフォルトの名無しさん mailto:sage [2014/07/08(火) 23:53:13.46 ID:jARkErFj.net] C++が好きな人にとってはいいのかもしれないが C++に特に思い入れのない人にとっては 何でC++の持つ恩恵が受けられる訳でもないスクリプトにまで C++の流儀を持ち込まねばならんのだ という感情があるということを AngelScript推進派は意識した方がいいと思う AngelScriptに懐疑的な人に対して >>443 みたいなアピールは無意味どころか逆撫でしてるんじゃない?
461 名前:デフォルトの名無しさん mailto:sage [2014/07/08(火) 23:55:23.17 ID:jARkErFj.net] 勿論AngelScriptの有用性を否定してる訳じゃなくて 人にモノを薦めるときは相手の考えも尊重してね という話
462 名前:デフォルトの名無しさん mailto:sage [2014/07/09(水) 00:01:15.25 ID:yWtVDAf2.net] C++構文とかどうでもいいからさ コンパイル時型チェックしてくれる組み込めるスクリプト言語って他にないの?
463 名前:デフォルトの名無しさん mailto:sage [2014/07/09(水) 00:02:36.15 ID:6stlqCZC.net] なぜそこまで言われなければならないんだ・・・ じゃ今度からAngelScriptの話をするときは「(個人の感想です)」って末尾に付けるわ
464 名前:デフォルトの名無しさん mailto:sage [2014/07/09(水) 00:08:24.48 ID:HW4kwc6W.net] JavaやC#なんかとおなじで、ドカタに使わせる言語としては良さそうなんじゃないかと思う。
465 名前:デフォルトの名無しさん mailto:sage [2014/07/09(水) 00:27:27.75 ID:q6W6WKLr.net] AngelScript|Д`)さんってさぁ Botや荒らしの類にしか見えないんだよ 本気で貢献したい、広めたいと思うなら リファレンスの翻訳したり サンプルコードを提示したりと やることはいくらでもあるでしょ? どっかの国のじゃないんだからさぁ ま、流行らないと思うけども
466 名前:デフォルトの名無しさん mailto:sage [2014/07/09(水) 00:43:58.35 ID:ay8R5j5j.net] 静的と動的を二刀流したら面白そうなのは分かるけど 同じ系統の言語を二個使ったら何ができるのかが分からない
467 名前:デフォルトの名無しさん mailto:sage [2014/07/09(水) 00:55:53.38 ID:Pn1IATNt.net] ASって存在価値ないんじゃね?ってレスに こういう場面で使えるよって返したつもりだったけど
468 名前: 無意識のうちに、C++すら理解できない能無しの劣等感を煽っちゃったんだね。 ごめんね。 [] [ここ壊れてます]
469 名前:デフォルトの名無しさん mailto:sage [2014/07/09(水) 01:03:57.02 ID:6stlqCZC.net] 動的型付け言語はコーディングミスをしない超人向け言語ですので その超人様がコンパイル時型チェックに頼る凡人を見下すのは当然ですね
470 名前:デフォルトの名無しさん mailto:sage [2014/07/09(水) 01:15:00.10 ID:q6W6WKLr.net] >>463 誰だよお前はw
471 名前:デフォルトの名無しさん mailto:sage [2014/07/09(水) 07:00:19.88 ID:D5g6nYoo.net] 俺だよ俺
472 名前:デフォルトの名無しさん mailto:sage [2014/07/09(水) 08:20:34.04 ID:dnhlgLoJ.net] AS信者ってキモいな・・・
473 名前:デフォルトの名無しさん mailto:sage [2014/07/09(水) 08:35:39.86 ID:dUvUmdvT.net] 信者とか言い出すやつは荒らし。 みんな知ってるね。
474 名前:デフォルトの名無しさん mailto:sage [2014/07/09(水) 19:01:55.74 ID:r8cQgObV.net] AngelScriptは何も悪くない 悪いのはソレを使う人間だよ
475 名前:デフォルトの名無しさん mailto:sage [2014/07/09(水) 19:50:22.95 ID:ay8R5j5j.net] 静的と動的の争いが無駄すぎるおかげで、二刀流の生産性が非常に高く感じられる
476 名前:デフォルトの名無しさん mailto:sage [2014/07/09(水) 20:24:17.88 ID:yWtVDAf2.net] お前らが言ってる静的動的ってどういう意味で言ってんの? 型付けが?それとも実行環境が?
477 名前:デフォルトの名無しさん mailto:sage [2014/07/10(木) 14:37:45.84 ID:QqTFR8Ev.net] AngelScript使ってる男の人って・・・・・
478 名前:デフォルトの名無しさん mailto:sage [2014/07/10(木) 16:01:45.19 ID:iwrqfwZm.net] TreeBoa?
479 名前:デフォルトの名無しさん mailto:sage [2014/07/11(金) 01:37:33.79 ID:hJn+b6B7.net] luaのmodule, requireの使い方がイマイチよく分からないんだけど a.luaとb.luaというファイルがあったとして、a.luaにmodule("a")って書いておけばb.luaからrequire("a")でa.luaを参照で生きるってのは分かるんだけど a.luaもb.luaもアーカイブ内にあって(例えばZIPにスクリプトが固めてある状態で)アーカイブから直接 スクリプト文字列をロードしてlua_Stateつくったとするじゃん?そしたらb.luaからa.luaってどうやって参照するの?? a.luaをロードしたlua_Stateと、b.luaをロードしたlua_Stateはそれぞれ完全に独立してるわけじゃん? a.lua内でmodule("a")とかやっても、それはb.luaにとっては全く無関係な話しじゃね?っていう
480 名前:デフォルトの名無しさん mailto:sage [2014/07/11(金) 02:45:06.27 ID:Mxpl8CKX.net] >>474 dostring はい はい
481 名前:デフォルトの名無しさん mailto:sage [2014/07/11(金) 04:09:49.02 ID:D40A4FPH.net] >>474 requireの公式マニュアル読めばモジュールの検索手順載ってるからそれ読んどいてね require経由で独自のアーカイブからファイルを読みたいなら package.preloadのメタメソッドに自前のローダを仕込むとかトリックを使うことになるよ
482 名前:デフォルトの名無しさん mailto:sage [2014/07/11(金) 07:07:35.10 ID:TT3tD9Ot.net] >>474 スクリプトをロードすると関数がつくられる (lua_Stateではない) 各々の関数はグローバル変数を共有できる (完全に独立してない) モジュールの使い方はバージョン毎に改善されているが グローバル変数の使い方はあまり変わってないので使い方が分からない人はいないと思う
483 名前:デフォルトの名無しさん mailto:sage [2014/07/11(金) 07:47:48.30 ID:XCAXgxw4.net] module は廃止されたよね? ttp://p-monster.hatenablog.com/entry/2013/02/13/205419
484 名前:デフォルトの名無しさん mailto:sage [2014/07/11(金) 07:50:22.67 ID:XCAXgxw4.net] こちらの方がよいかも ttp://ar.aichi-u.ac.jp/blog/lua/lua.html#id.2.2.0
485 名前:475 mailto:sage [2014/07/11(金) 14:00:17.28 ID:snzc4mzL.net] ああ、なにか根本的に間違ってたんだな package.preloadとかの説明は読んでたけど、このテーブルが異なる lua_State 間で共有される 情報だとは思っていなかった 結局メタテーブルいじるのは面倒なので、単に int lua_include(lua_State *ls) { const char *scriptname = lua_tostring(ls, 1); const char *source = GetStringFromArchive("data.zip", scriptname); lua_dostring(ls, source) return 0; } みたいな関数を登録して、スクリプト内から include("a.lua") って呼んで使うことにしたよ。みんなありがとう
486 名前:デフォルトの名無しさん mailto:sage [2014/07/13(日) 17:10:55.13 ID:kuvdsVq2.net] luaでiosアプリを操作するスクリプトを作ってます ランダム変数を使って、タッチする位置とタイミングを微妙に変えつつ、 位置とタイミングをある程度の範囲内に抑えたいのですが、 x1=math.random(14,134); y1=math.random(280,314); a1=math.random(-1,+1); a2=math.random(-1,+1); t0=math.random(80000,85000); t1=math.random;(50000,50100); touchdown(0,x1,y1); usleep(t0); touchup(0,x1+a1,y1+a2); usleep(t1); usleep(300000); まったく反応しません どうしてでしょうか
487 名前:デフォルトの名無しさん mailto:sage [2014/07/13(日) 17:13:44.99 ID:kuvdsVq2.net] × t1=math.random;(50000,50100); ◯ t1=math.random(50000,50100); 直したけど動きません
488 名前:デフォルトの名無しさん mailto:sage [2014/07/13(日) 17:20:13.38 ID:kuvdsVq2.net] お騒がせしてすいません +が余計でした
489 名前:デフォルトの名無しさん mailto:sage [2014/07/13(日) 23:51:22.63 ID:oRazOMf+.net] 関係ないけどluaは命令末尾にセミコロン要らないよ。 まあ、同じ行に命令を並べる時は必要になるから、念のため常につけておくってのはアリだと思うけど。
490 名前:デフォルトの名無しさん mailto:sage [2014/07/15(火) 22:41:15.80 ID:4Hk/aMI9.net] lua_getuservalue, lua_setuservalueってどういう使い方するの? というかどういう風に使うもんなの?
491 名前:デフォルトの名無しさん mailto:sage [2014/07/18(金) 07:19:05.42 ID:MNjetX+m.net] >>485 マニュアルやら sceneryandfish.withnotes.net/?p=1908 などでも触れてるけど 数十行レベルでしょのシンプルなソース見ちゃうのが手っ取り早いと思うよ
492 名前:デフォルトの名無しさん mailto:sage [2014/07/21(月) 12:06:25.68 ID:MDGKsYd9.net] AngelScript|Д`)<AngelScript2.29.1記念カキコ 何か重要なバグフィックスらしい。
493 名前:デフォルトの名無しさん mailto:sage [2014/07/21(月) 16:26:34.64 ID:CPAJhmyk.net] ttp://www.angelcode.com/angelscript/changes.php これか メモリ関連のバグフィクスと、出力されるバイトコードがおかしくなるバグの修正かな
494 名前:デフォルトの名無しさん mailto:sage [2014/08/11(月) 22:58:35.99 ID:xLVZtjTF.net] 何気に痛いな バージョン番号がいまいちわからないんだけど stable版ってどれなんだろ
495 名前:デフォルトの名無しさん [2014/08/12(火) 02:19:26.71 ID:Hfmn/cHa.net] auto touchっていうアプリのスクリプトがLua言語でちんぷんかんぷんで。 ここで質問してもいい?
496 名前:デフォルトの名無しさん mailto:sage [2014/08/12(火) 02:55:05.48 ID:QZJQGyIx.net] >>490 いいよ 寂れてるし。
497 名前:デフォルトの名無しさん mailto:sage [2014/08/12(火) 05:31:01.87 ID:7nSDT24w.net] Lua,Squirrelの簡単な本がない あれば買うが、難しい本はいらん
498 名前:デフォルトの名無しさん mailto:sage [2014/08/12(火) 06:24:10.22 ID:FZ4QQEE/.net] 用途を考えればド素人向けの本はもっといっぱいほしいよな
499 名前:デフォルトの名無しさん [2014/08/12(火) 08:49:45.55 ID:Hfmn/cHa.net] 質問しておきながら爆睡してしまった。申し訳ない。 auto touchの関数についてautotouch.me/?page_id=269 alert("Hello world!"); hello world!と表示する vibrate(); -- 一回振動する. tap(100, 200); -- 座標(100, 200)をクリックする.このあたりは実際にauto touchで実行できたんだ。 画像aがあるときにaをタップ っていうのはfindImageTap {imagePath="/var/A.png", count=1}; だと思うんだけど出来なくて困ってる。
500 名前:デフォルトの名無しさん mailto:sage [2014/08/12(火) 09:06:36.78 ID:5U2rS/IR.net] 面白そうなツールだな
501 名前:デフォルトの名無しさん mailto:sage [2014/08/12(火) 14:26:34.31 ID:Hfmn/cHa.net] UWSCみたいな感じで動かせそうだな〜って思ってる。 別過去スレでやってる人がいて、その人のスクリプトはこんな感じなのね。↓ まだボタン一つ押せただけで大した事できてないけど、、、 スクリーンショットとって、PCで画像切り抜き、サイズ変えないで保存して上手くいった。 あいぽんで編集するとサイズ変わってしまって上手くいかなかった。 あとはマニュアル通り ボタンの画像を少し小さめに切抜き、find image すると、ボタンの中の座標返すからそのままtouchdown してあげると良いみたい local ok; ok = findImage{imagePath="/var/mobile/Library/AutoTouch/Scripts/IMG/ok.png", count=1}; for i, v in pairs(ok) do touchDown(0,v[1],v[2]); usleep(100000.00); touchUp(0,v[1],v[2]); end 画像はこんな感じ。カメラロールに保存しちゃうと拡大されちゃうけど、ホントは等倍ね i.imgur.com/nJymDHf.jpg とのことなんよ。画像を見つけたらfor以下をループってことなのかな?
502 名前:デフォルトの名無しさん mailto:sage [2014/08/12(火) 18:35:02.04 ID:XJm7PWEz.net] 書いてあることそのままじゃね? 何が分からないんだろ
503 名前:デフォルトの名無しさん [2014/08/12(火) 20:58:16.89 ID:Hfmn/cHa.net] 上手く認識してくれないんだわ。。 angeっていう画像を見つけたらタップっていう動作を組む方が簡単そうなので findImageTap{imagePath="/var/mobile/Library/AutoTouch/Scripts/IMG/ange.png", count=1}; っていうのに変えてもうまくいかない。 iphoneでスクショ撮る→PC繋いで画像ダブルクリック。スクショしてペイントに貼り付け。4×4ドットで切り取りしてange.pngで保存。 iexplorer経由でIMGフォルダに保存。 そもそもの画像の保存方法がダメなのかな?
504 名前:デフォルトの名無しさん mailto:sage [2014/08/12(火) 21:54:52.06 ID:XJm7PWEz.net] findImageTapじゃなくてfindImageを使って マッチしてるか確認 local result = findImage{imagePath="/var/mobile/Library/AutoTouch/Scripts/IMG/ange.png", count=1} alert(#result) これが0なら拾えていないので画像に問題ありなので画像作成に工夫する 1なら拾えているので他に問題あり 考えられるのはtap対象自体がイベントを処理していないか 当たり判定の範囲外 前者は手動でtapして反応するか確認 後者はresultの中身に入った座標を参考にしながらtap関数で確認 alertの仕様が分からないので alert(tostring(#result)) や alert(""...#result)などとする必要が有るかも知れない
505 名前:デフォルトの名無しさん [2014/08/12(火) 22:22:09.25 ID:Hfmn/cHa.net] 丁寧にありがとう。 local result = findImage{imagePath="/var/mobile/Library/AutoTouch/Scripts/IMG/ange.png", count=1} alert("#result") で反応無かったので画像の保存の仕方がいけなかったみたい。 ちょっと保存方法変えてみます。
506 名前:デフォルトの名無しさん mailto:sage [2014/08/12(火) 22:37:13.67 ID:XJm7PWEz.net] >>500 >alert("#result") 誰がそんな事言ったよ てかそれで反応がないならおかしいぞ
507 名前:デフォルトの名無しさん mailto:sage [2014/08/12(火) 22:38:29.15 ID:wYq/8Bw7.net] ホスト環境側の制限なんかで、コード通りに動いてくれないときのデバッグが一番面倒だよね。
508 名前:デフォルトの名無しさん mailto:sage [2014/08/12(火) 23:01:41.48 ID:XJm7PWEz.net] エミュもなく実機テストオンリーじゃ地獄だね https://teachme.jp/contents/16546 見る限りリモートデバッグも出来るようだから そっちの環境を作るのが先かもね
509 名前:デフォルトの名無しさん mailto:sage [2014/08/25(月) 10:39:27.72 ID:BL3IV/EG.net] ChaiScript ( chaiscript.com/ ) って試した人います? 組み込みの文字列、配列、連想配列に std::string, vector, map を そのまま使っているほどには、C++のクラスをバインドするには親和性が高そう。 比較的、型の扱いが厳密なのが特徴かな。 クロージャは無いかも。
510 名前:デフォルトの名無しさん mailto:sage [2014/08/25(月) 18:26:32.35 ID:eFSdMsqd.net] イラネ
511 名前:デフォルトの名無しさん mailto:sage [2014/08/25(月) 19:18:08.37 ID:8RrIpfE5.net] >>504 割とオーソドックスな文法だね defでの関数定義時に、annotationとguardを設定できるのはちょっと面白い (いまいち使い道は思いつかない) バージョン5.3まで行ってる割にはドキュメントが弱そうに(個人的には)見えるけど それだけシンプルって事なのか、それともdoxygenの使用にこだわっているせいなのか
512 名前:デフォルトの名無しさん mailto:sage [2014/08/25(月) 21:14:31.71 ID:wLUoTrN4.net] >>506 C++による仮想コードでスクリプトのドキュメントを生成していて、 doxygenの中にスクリプトとC++ APIの両方が書かれているみたい。 ただ、":=" と "=" の動作の違いとか、基本的なことが書かれてない気がする。 割り切った設計はなかなか面白いのだけど、いろいろと惜しいな。
513 名前:デフォルトの名無しさん mailto:sage [2014/08/26(火) 09:41:08.11 ID:laXhI8kB.net] マニュアル酷いなぁ Function Definition ::= [annotation + CR/LF] "def" identifier "(" [arg ("," arg)*] ")" [":" guard] block annotation ::= ??? CR/LF ::= ??? identifier ::= ??? arg ::= ??? guard ::= ??? block ::= ??? 訳わからん
514 名前:デフォルトの名無しさん mailto:sage [2014/08/26(火) 12:16:11.13 ID:c1R9OiEG.net] ん? そこは数少ない「訳わかる」ところじゃないのか? 関数定義のシンタックスが書いてあるだけだぞ。 annotation: meta-annotation on function, currently used as documentation. Optional. identifier: name of function. Required. args: comma-delimited list of parameter names. Optional. guards: guarding statement that act as a prerequisite for the function. Optional. { }: scoped block as function body. Required.
515 名前:デフォルトの名無しさん mailto:sage [2014/08/26(火) 21:00:26.29 ID:CrpVQ0De.net] >>508 これが訳分からんならお前には色々と難しいな
516 名前:デフォルトの名無しさん mailto:sage [2014/08/26(火) 21:58:18.18 ID:laXhI8kB.net] >>509 非終端記号混じりで定義するなら それらの定義もしっかりやれよって話 >>510 俺には無理 annotation 1行目のみ#までの空白タブは読み捨てるが2行目移行は読み捨てない Annotationとキーワード"def"がある行の間に空行はいくら入ってもいいが空白行やコメントは不可 こんなソース見なきゃ分かんねーよ
517 名前:デフォルトの名無しさん mailto:sage [2014/08/27(水) 06:44:36.56 ID:4iKpxsh4.net] >>511 確かにannotationは説明不足だな 他のコメントは // でも /* */ でもいいのに、ここは # のみだし 複数行の扱いとか、get_annotation() で先頭の # が除外されないのも微妙 マニュアルがどうこう以前に、annotationの仕様がこなれていないんじゃないかな 「関数の直前のコメントは、その説明とみなす」というアイデアは嫌いじゃないが
518 名前:デフォルトの名無しさん mailto:sage [2014/08/27(水) 07:39:39.64 ID:3/KZIqq3.net] イラネ
519 名前:デフォルトの名無しさん mailto:sage [2014/08/27(水) 07:50:51.23 ID:EpvBGjSy.net] Lua原理主義者さん鬱陶しいな・・・
520 名前:デフォルトの名無しさん mailto:sage [2014/08/27(水) 09:13:33.41 ID:6IT+XF7c.net] ライバルにストレスを与えるのは当たり前だ 競争原理が鬱陶しいなら競争をやめればいい
521 名前:デフォルトの名無しさん mailto:sage [2014/08/27(水) 15:44:42.46 ID:4iKpxsh4.net] >>504 多少複雑なことをやろうとすると segfault で落ちる。 GCがC++任せ(参照カウント)なのに、オブジェクトの生存期間の制御が甘いようだ。 良いバインダではあるけど、良いエンジンではないな。
522 名前:デフォルトの名無しさん mailto:sage [2014/08/28(木) 13:22:05.82 ID:wsbnD5TY.net] >>494 と同じようにauto touchで動かすLuaの質問してもいいかな?
523 名前:デフォルトの名無しさん [2014/08/29(金) 14:42:44.60 ID:xFSbaFifS] 便乗で(・_・; autotouchの拡張関数のfindimageのソースコードが知りたいんですが、 何処かみえる場所に置いてないですかね。 プログラムに組み込まれちゃってるんかな。 自分で書いた関数だと遅くて遅くて。
524 名前:デフォルトの名無しさん mailto:sage [2014/08/29(金) 14:50:56.97 ID:xFSbaFifS] 間違えました。findcolorです
525 名前:デフォルトの名無しさん mailto:sage [2014/09/01(月) 03:56:01.22 ID:ruMjAUJp.net] >>517 いいよ 寂れてるし。
526 名前:デフォルトの名無しさん mailto:sage [2014/09/07(日) 20:51:30.64 ID:ppGxj2XK.net] と言っても質問なしw
527 名前:デフォルトの名無しさん mailto:sage [2014/09/07(日) 21:16:45.63 ID:V4yJXxP4.net] もしかしたら行間を読み取ってダメだって言われたと思ったのかもしれない
528 名前:デフォルトの名無しさん mailto:sage [2014/09/08(月) 08:36:00.81 ID:YMBZ0Z5D.net] > 491 名前:デフォルトの名無しさん[] 投稿日:2014/08/12(火) 02:19:26.71 ID:Hfmn/cHa [1/5] > auto touchっていうアプリのスクリプトがLua言語でちんぷんかんぷんで。 > ここで質問してもいい? > > 492 自分:デフォルトの名無しさん[sage] 投稿日:2014/08/12(火) 02:55:05.48 ID:QZJQGyIx > >>490 > いいよ > 寂れてるし。 > 518 名前:デフォルトの名無しさん[sage] 投稿日:2014/08/28(木) 13:22:05.82 ID:wsbnD5TY > >>494 と同じようにauto touchで動かすLuaの質問してもいいかな? > > 519 自分:デフォルトの名無しさん[sage] 投稿日:2014/09/01(月) 03:56:01.22 ID:ruMjAUJp > >>517 > いいよ > 寂れてるし。
529 名前:デフォルトの名無しさん mailto:sage [2014/09/08(月) 08:43:07.21 ID:YMBZ0Z5D.net] 同じ文面でスルーされるってのはちと悲しかった
530 名前:デフォルトの名無しさん mailto:sage [2014/09/09(火) 08:11:02.05 ID:2JmvO9sZ.net] 2度あることは3度ある!
531 名前:デフォルトの名無しさん [2014/09/12(金) 14:58:08.94 ID:y2znSXEd0] countTimer(180) ↑こんな感じで記述するだけで、たとえば180秒ごとに戻り値がtrueになるようなfunctionないでしょうか? もしくは、 countTimer(A,180) などと、先頭にID名を書くことで、別々のタイマーとして動作するようなものがほしいのですが。
532 名前:デフォルトの名無しさん mailto:sage [2014/09/13(土) 13:49:43.66 ID:HQ53r6lE.net] Luaの文法は組み込みじゃなくてLLとしても十分使えると思うんだよなぁ。 クロージャをなくして関数束縛とラムダに分離したらRubyよりも手軽に使えそう。
533 名前:デフォルトの名無しさん mailto:sage [2014/09/13(土) 14:34:10.13 ID:xYGMnmOJ.net] LLとして利用するのにコンセンサスがいるのか? というか規模から考えて現状でもRubyより手軽に使えるはずだし ちょっと文法変えた程度じゃ手軽さの関係は変わらんだろう ついでに文法だけならもっとマシな言語いくらでもあるだろ Luaは処理系実装・実績を含めて初めて評価される類だと思う
534 名前:デフォルトの名無しさん mailto:sage [2014/09/13(土) 14:59:46.23 ID:2mQgH8ds.net] localの宣言はLLじゃないな。
535 名前:デフォルトの名無しさん mailto:sage [2014/09/13(土) 15:33:20.77 ID:y8nlksus.net] 「LLとして使う」ってどういう文脈なんだろう? 一般業務なら Battery Included な環境のほうが便利なんじゃないか? 組み込み言語のライブラリの貧弱さは、サンドボックス内で使われるからこそ許される(し、好まれる)のでは。