トップページtech
1001コメント281KB

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

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん2011/11/12(土) 11:04:10.46
LuaやSquirrelやAngelScriptなどアプリケーションへの組み込み用途で
使われるプログラミング言語についてのスレッドです
まとめwiki(なにか質問する前に必ずみること!)
http://wikiwiki.jp/lua/

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

■前スレ
【Lua】組み込み系言語総合 その4【Squirrel】
http://hibari.2ch.net/test/read.cgi/tech/1301414458/
■過去スレ
その3 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/
0002デフォルトの名無しさん2011/11/12(土) 11:05:09.62
□Lua
ttp://www.lua.org/ (本家)
ttp://lua-users.org/ (lua-users)
ttp://luaforge.net/ (LuaForge)
http://sugarpot.sakura.ne.jp/yuno/html/lua51_manual_ja.html(5.1マニュアル和訳)
Lua言語の紹介
http://staff.aist.go.jp/yutaka.ueno/lua/docsjp.html
入門Luaプログラミング
http://www.amazon.co.jp/dp/4797342722/

□Lua as an Effect File Format for OpenGL
http://prideout.net/blog/?p=1

□Squirrel
http://www.squirrel-lang.org/ (本家)
http://sourceforge.net/projects/squirrel/
http://sourceforge.net/projects/sqplus/ (SqPlus)
http://sourceforge.net/projects/squirrelsh/ (Squirrel Shell)
http://wikiwiki.jp/lua/?Squirrel_Lang%2Ftoc(wiki内2.1マニュアル和訳)

□AngelScript
http://www.angelcode.com/angelscript/

□Xtal(ゲーム向け。スタックを意識しなくていい?)
http://d.hatena.ne.jp/xtalco/
http://code.google.com/p/xtal-language/
http://blog.livedoor.jp/dankogai/archives/50836939.html

□elastiC
http://www.elasticworld.org/
0003デフォルトの名無しさん2011/11/12(土) 11:08:55.19
■関連してるかもしれないスレ
Io Language
http://hibari.2ch.net/test/read.cgi/tech/1201100624/
2 part forth
http://pc11.2ch.net/test/read.cgi/tech/1073673931/
●●●●TCL/TKなら俺に聞け 2●●●●
http://pc11.2ch.net/test/read.cgi/tech/1177998764/
ECMAScript デス 3
http://pc11.2ch.net/test/read.cgi/tech/1190160481/
各種ライブラリ紹介スレ2(ゲ制作)
http://pc11.2ch.net/test/read.cgi/gamedev/1177886529/
Eclipse統合M32【Java/C++/Ruby/Python/Perl】
http://hibari.2ch.net/test/read.cgi/tech/1320318310/
「コンパイラ・スクリプトエンジン」相談室15
http://hibari.2ch.net/test/read.cgi/tech/1296214398/
Garbage Collection (GC)について語るスレ
http://pc11.2ch.net/test/read.cgi/tech/1141646850/
0004デフォルトの名無しさん2011/11/12(土) 12:49:25.37
おひさー
0005デフォルトの名無しさん2011/11/12(土) 13:38:56.41
firefox9 JS JITでの型推論
https://dev.mozilla.jp/2011/11/type-inference-to-firefox-beta/
実はUnityのJSのコンパイルでも使われてた。
http://forum.unity3d.com/threads/1117-Javascript-Version
http://www.cis.sojo-u.ac.jp/~izumi/Unity_Documentation_jp/Documentation/ScriptReference/index.Performance_Optimization.html

動的型を型推論で置き換えるのってschemeのstalinで聞いたことあったけど、
ほかの言語実装にも広がり続けるのかな。
30%upとか、LuaJITで未実装で実装されたら凄いことになりそうだけど、
今の速度なら実質同じような事できてるのかも。
0006デフォルトの名無しさん2011/11/12(土) 23:06:19.27
AngelScript|Д`)<新スレ乙
0007デフォルトの名無しさん2011/11/13(日) 12:12:17.79
>>6
前スレもそうだったけどAngelScriptの話題がなぜ定期的に挙がるんだww
0008デフォルトの名無しさん2011/11/13(日) 12:13:54.77
あ、スマンLuaとSquirrelだけのスレかと思ったら組み込み系全般のスレだったか。
ネタで書き込んでたのかと思ってたw勘違いスマン
0009デフォルトの名無しさん2011/11/13(日) 15:57:38.16
http://attractivechaos.github.com/plb/
js,lua,pyのJIT実装は世界が違ってきてる・・・
0010デフォルトの名無しさん2011/11/13(日) 18:29:34.06
         \   l´⌒\⌒\ \\ \
           \ ヽ   )  )   \\ \\   
              (   \ \∩___∩ \\ 
           \   \  ⌒⌒| ノ      ヽ  \\      
              \ \   /  ●   ● ト、\ \\\ 
               \  Y |    ( _●_)  ミ\  \\\  
               \ / 彡、_  |∪| ノ   \  \\\
                 (____)―ヽノ' ヽ      ̄ ̄ ヽ\\
                                \,  j  l l .l }
                         Lua!   l (_ノノノノ

0011デフォルトの名無しさん2011/11/14(月) 19:43:33.94
Added 'final' and 'override' keywords to the script language for better control over inheritance
http://angelscript.svn.sourceforge.net/viewvc/angelscript?view=rev&revision=1039
0012デフォルトの名無しさん2011/11/19(土) 23:58:37.22
>>9
JIT実装ってJust in timeの略語だよね?
よく分からないんだけど必要最小限の構成にしたluaって認識でいいのかな。
余計な機能がない分早い、みたいな
0013デフォルトの名無しさん2011/11/20(日) 04:09:18.26
>>12
本家の実装だとスクリプトをアーキテクチャに依存しないバイトコードに翻訳して実行するけど、LuaJITはネイティブマシンコードに翻訳実行するのが違い。
0014デフォルトの名無しさん2011/11/20(日) 11:00:04.58
違いねえ
0015デフォルトの名無しさん2011/11/21(月) 05:14:23.42
>>13
なるほど。つまり通常のLuaがJavaScriptだとするなら
JIT実装とはC言語みたいなもの、って認識でいいのかな。
0016デフォルトの名無しさん2011/11/21(月) 15:51:03.49
LuaとかAngelScriptとかって何に使うの?
これらを用いるとどんな利点があるの?
0017デフォルトの名無しさん2011/11/21(月) 17:17:00.94
一見してメリットが思い付かなきゃ
どのみちアンタにゃ必要ねえよ
0018デフォルトの名無しさん2011/11/21(月) 21:32:34.43
心閉ざすなよww
0019デフォルトの名無しさん2011/11/21(月) 23:21:07.67
アルゴリズムを外部に置けるってだけでもずいぶん便利だと思うけどね。
あとはスクリプトの処理を一時中断して実行ファイルの方へ処理を戻せるのとか。
0020デフォルトの名無しさん2011/11/22(火) 01:04:48.82
コードを外部化するメリットもあるし、ちょっとした設定をXMLの代替のようにも活用できるし便利だよ。
0021デフォルトの名無しさん2011/11/22(火) 06:31:26.08
       //
     /  /   パカッ
     //⌒)∩__∩
    /.| .| ノ     ヽ
    / | |  ●   ● |     
   /  | 彡  ( _●_) ミ Lua!!
   /  | ヽ  |∪|  /_
  // │   ヽノ  \/
  " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ

0022デフォルトの名無しさん2011/11/22(火) 10:56:32.62
iLuaBoxなんてのがあるんだな
0023デフォルトの名無しさん2011/11/22(火) 11:36:33.82
LuaでRPGつくる書籍立ち読みしてやってきた新参だが
今から勉強するなら
LuaとSquirrelどっちやれば報われるんだ?
0024デフォルトの名無しさん2011/11/23(水) 00:40:06.49
>>23
メジャーなLuaにしとけ。
0025デフォルトの名無しさん2011/11/23(水) 12:37:49.14
質問です。

luaで

011
012
013
というようなゼロパディングされた連番を生成するためにはどうしたらよいでしょうか。

0026デフォルトの名無しさん2011/11/23(水) 12:46:04.39
string.format
0027デフォルトの名無しさん2011/11/24(木) 04:11:32.55
>>661
論外。強者なら普通にやれる
0028デフォルトの名無しさん2011/11/24(木) 04:11:59.76
すまんスレ間違えた
0029デフォルトの名無しさん2011/11/24(木) 05:07:34.76
>>26
ありがとうございました。
0030デフォルトの名無しさん2011/11/24(木) 15:58:45.40
リリースビルドした実行ファイルから文字列変換(..とtostring)を実行すると
テーブルがぶっ壊れるという現象に遭遇した
0031デフォルトの名無しさん2011/11/24(木) 23:25:06.93
>>30
あんたのコードにバグがある。
0032デフォルトの名無しさん2011/11/26(土) 00:29:57.63
>>30
論外。強者なら普通にやれる
0033デフォルトの名無しさん2011/11/26(土) 10:53:08.52
javascriptをCに組み込んで使いたいんだけど、そういうライブラリ知りませんか?
商用利用だとライセンス的に問題があるのかな
0034デフォルトの名無しさん2011/11/26(土) 11:08:01.24
SpiderMonkeyぐらいしか知らないなぁ
ただでさえ面倒なJSなのにCという縛りは辛いからお勧めはしない
0035デフォルトの名無しさん2011/11/26(土) 11:12:39.43
Win環境ならJScriptもあるな
さらに面倒だけど
0036デフォルトの名無しさん2011/11/26(土) 11:53:35.91
そうですか…
デザイナーに習得させるためのコストがゼロなのでJavascriptが良かったんだけど
別の言語探してみます
0037デフォルトの名無しさん2011/11/26(土) 13:08:11.90
念のため聞くけど、C縛り?C++は駄目?
0038デフォルトの名無しさん2011/11/26(土) 13:09:15.47
CouchDBとか、組み込みjsを使うプロダクトが増えているけど、
ECMAScriptの規格はブラウザ組み込み向けの機能だけしかない。

C/C++組み込み
http://code.google.com/intl/ja-JP/apis/v8/embed.html
https://developer.mozilla.org/en/SpiderMonkey

JVM http://www.mozilla.org/rhino/
C# http://javascriptdotnet.codeplex.com/ (去年で止まってる?他にあるかも)
Unity http://unity3d.com/support/documentation/ScriptReference/index.html

下の実践JSって本がサーバーサイドJSの本だから、独立言語として使うためのCommon APIのことが書いてあるけど、組み込みについては書いてないと思う。
http://dev.ariel-networks.com/wp/archives/501
0039デフォルトの名無しさん2011/11/26(土) 13:56:23.15
>>37
条件が曖昧でしたね、C縛りではありません
CまたはC++で、Visual C++ でビルドします
0040デフォルトの名無しさん2011/11/26(土) 14:42:57.37
>>39
それなら既に >>38 が出してくれてるけど、
・V8(修正BSDライセンス) chrome のJSエンジン
・SpiderMonkey(MPL/GPL/LGPL) Firefox のJSエンジン
・JavaScriptCore(修正BSDライセンス) SafariのJSエンジン (WebKitの一部)
とかお好きなものを使えばいいんじゃないかと

v8 が実装が独立してたライブラリになっててわりとお手頃。ためしに組んでみたことあるけど、
PC用のアプリなら全然問題なく組み込めるよ。ライセンスもBSD系なので商用でも気軽に使える。

SpiderMonkey は Mozilla (firefox) の一部として公開されてる関係で、どう切り出してきて
どう作業したらいいかぱっと見わかりづらくて大変だと思われる
SpiderMonkey を本当に「組み込み向け」に移植調整した Jsmn ってのもあって、
小さくまとまってるけどライセンスはMPLなのでちょっと使いづらい
JavascriptCore は良く知らない
0041デフォルトの名無しさん2011/11/26(土) 20:05:39.52
luaでC++のSTLやBoostみたいなサブルーチン集みたいなのないの?
0042デフォルトの名無しさん2011/11/26(土) 21:37:58.39
そういうこと言う人はC++を普通に使っといたほうが幸せだぞ
0043デフォルトの名無しさん2011/11/26(土) 22:28:33.72
まあJavascript組み込むならV8が無難だろうね。
組み込むの簡単だし。
0044412011/11/26(土) 22:58:10.48
javascriptにもprototype.jsとかよく使うものまとめてものあるから
luaにもあるのかと思ったけどまだないってこと?
0045デフォルトの名無しさん2011/11/26(土) 23:14:55.71
いろいろ自分で整備してる人はいるかもだけどメジャーなものは記憶にないな
lua だと、そういうのが必要になりそうな場合は直接 C/C++ でライブラリ書いた上で
呼び出しの口だけ作る、といった形にするのが一般的なのでニーズが無い。
誰かが良いものつくれば広まる可能性はあるかもね

単にバランスの問題でね。スクリプトレベルで高度なライブラリほしければ
python や ruby とか全部入りの高級なのを組み込んだほうがてっとりばやい。
lua はそういうのはいらないって分野でこそ使われてる
0046デフォルトの名無しさん2011/11/26(土) 23:38:08.75
CPANやRubyForgeみたいなものはあるが、
http://luaforge.net/projects/
クオリティー担保してまとめたものがあるかは知らない。
0047デフォルトの名無しさん2011/11/27(日) 12:41:43.85
ファイルシステム ネットワーク プロセス スレッド ウィンドウシステム
クオリティを担保するのは言語ではなくOSだ
強いて言うならばスレッドは言語の影響を受けやすい
0048デフォルトの名無しさん2011/11/27(日) 13:26:14.60
とりあえずluaをスクリプティングに使いたいなら
luarocksでposixなりstdlibなりをインストールすればいいな
0049デフォルトの名無しさん2011/11/27(日) 19:02:20.35
Luaは抽象度が高いし、アプリドメインの一番上で活用されるから、汎用ライブラリの出番は少ない。
0050デフォルトの名無しさん2011/11/28(月) 00:02:37.44
>>1-49
論外。強者なら普通にやれる
0051デフォルトの名無しさん2011/11/28(月) 02:34:17.16
stdlibってのがutility関数っぽい。
見た感じwebアプリケーション向けのライブラリが沢山あるのは、他のスクリプト言語みたいに単独で使うつもりなのかな。
0052デフォルトの名無しさん2011/11/28(月) 03:06:49.03
stdlibってやつを軽く調べてみたけど、実用はなさそう。
0053デフォルトの名無しさん2011/11/29(火) 01:48:57.26
LuaJITのGitリポジトリでは、共有ライブラリ化とPPC向けが実装済みで次(beta9)ぐらいに入るらしい。
http://luajit.org/sponsors.html#sponsorship_bc
共有ライブラリって名前通りに実行ファイルにしたり、LuaJITから呼んだり出来るのか?
0054デフォルトの名無しさん2011/11/29(火) 03:23:08.00
bytecode をうめこんだネイティブなオブジェクトファイルを生成して、それを直接アプリとリンクしたり、
共有ライブラリのなかに入れたりできるようにする、とあるなかな
lua で書いたものが、JIT処理つきで Cベースのプログラムと直接リンク可能になるってことではないかと
0055デフォルトの名無しさん2011/11/29(火) 06:33:13.14
探してもなかったので自分で便利関数書いてみた
公開してみようかと思ったらluaforgeが新規受付してないっぽい
今はどこに集積されてるんだ
0056デフォルトの名無しさん2011/11/29(火) 07:19:53.53
codepadやここでいいんじゃね
0057デフォルトの名無しさん2011/11/29(火) 19:53:21.01
パッケージのリポジトリならluarocksもあるけどこっちは受け付けてるのかな?
http://luarocks.org/en/Creating_a_rock
バージョン管理でソースあげれるところは結構いっぱいあるが、差は良く分からない。
http://repo.or.cz/w?a=project_list;t=lua
https://github.com/languages/Lua
https://bitbucket.org/repo/all?name=lua
http://code.google.com/hosting/search?q=label%3Alua&projectsearch=Search+projects
0058デフォルトの名無しさん2011/11/29(火) 20:34:05.19
Lua 5.2.0 (rc2)
http://www.lua.org/work/
0059デフォルトの名無しさん2011/11/30(水) 01:28:10.96
限定された機能しか使えない環境下でcronが使いたかった。探してもなかったので作った。

https://github.com/hiroro7/simple-lua-cron/tree/master
0060デフォルトの名無しさん2011/11/30(水) 03:13:16.84
>>59
cron.luaでダメな理由は何だったの?
0061デフォルトの名無しさん2011/11/30(水) 03:35:36.19
>>60
こんなものあったのですね。探し方がたりなかった。
ちなみにcron.luaだとcron job同士が遅延時間で絡む状態が作れなかったので、どっちにしても自分で作ってたかもしれないです。
0062デフォルトの名無しさん2011/11/30(水) 07:47:41.02
>>53-54
ほんとだ、単にバイトコードをCの文字列にするだけみたい。
0063デフォルトの名無しさん2011/11/30(水) 07:56:19.40
を、リスト処理関数まとめたんだ。
0064デフォルトの名無しさん2011/11/30(水) 08:01:33.50
       //
     /  /   パカッ
     //⌒)∩__∩
    /.| .| ノ     ヽ
    / | |  ●   ● |     
   /  | 彡  ( _●_) ミ Lua!!
   /  | ヽ  |∪|  /_
  // │   ヽノ  \/
  " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ

0065デフォルトの名無しさん2011/11/30(水) 12:50:46.37
luaってGCが頻繁に起こるようなプログラムすると遅くなるものですか?
0066デフォルトの名無しさん2011/11/30(水) 22:09:21.24
そりゃそうだ
0067デフォルトの名無しさん2011/11/30(水) 23:46:40.70
GCが頻繁に起こる状況だったら、Luaに限らずどんな言語でも重くなるんじゃないの?
0068デフォルトの名無しさん2011/12/01(木) 00:36:38.56
そりゃそうだ
0069デフォルトの名無しさん2011/12/01(木) 01:33:46.33
そらそうよ
0070デフォルトの名無しさん2011/12/01(木) 08:15:19.04
           ∩_
           〈〈〈 ヽ
          〈⊃  }
   ∩___∩  |   |
   | ノ      ヽ !   !
  /  ●   ● |  /
  |    ( _●_)  ミ/ Lua!!
 彡、   |∪|  /
/ __  ヽノ /
(___)   
0071デフォルトの名無しさん2011/12/02(金) 08:00:38.35
何で頻繁にクマーのAA貼られるの?
0072デフォルトの名無しさん2011/12/02(金) 08:34:00.92
   ∧_∧  / ̄ ̄ ̄ ̄
  ( ・∀・) <  Lua!!
⊂/  9)  \____
q(   /
  >  >

0073592011/12/02(金) 21:20:48.71
なんかlist処理の部分しか興味もたれてないみたいなので
list処理を少し充実させました
ambもできたらいいんだけど無理っぽい
0074デフォルトの名無しさん2011/12/03(土) 01:08:45.52
あんぶってコルーチンで綺麗に実装できたりするかな?
0075デフォルトの名無しさん2011/12/03(土) 17:23:04.83
Lua5.1.libとLua51.libの違いってなんですか?
0076デフォルトの名無しさん2011/12/03(土) 22:06:16.93
ambって何だ?と思ってググッたら、Schemeって言語の非決定性云々って出てきたけどこれの事?
0077デフォルトの名無しさん2011/12/03(土) 22:20:36.26
>>75
たぶん、linuxなどのディストリビューションでは、パッケージのディレクトリだどに合わせたものが出来ている。
luaの公式配布物からmakeすると共有ライブラリを用意してなかったり結構違いがある。
ので、名前の命名規則の違いかも。
0078デフォルトの名無しさん2011/12/03(土) 22:26:04.46
http://rosettacode.org/wiki/Amb#Lua
こんなの見つけたけどこれじゃ簡単すぎるか
0079デフォルトの名無しさん2011/12/05(月) 01:00:34.26
>>77
なるほど。違いがわかって納得しました。
ありがとうございます。
0080デフォルトの名無しさん2011/12/05(月) 07:52:02.96
         \   l´⌒\⌒\ \\ \
           \ ヽ   )  )   \\ \\   
              (   \ \∩___∩ \\ 
           \   \  ⌒⌒| ノ      ヽ  \\      
              \ \   /  ●   ● ト、\ \\\ 
               \  Y |    ( _●_)  ミ\  \\\  
               \ / 彡、_  |∪| ノ   \  \\\
                 (____)―ヽノ' ヽ      ̄ ̄ ヽ\\
                                \,  j  l l .l }
                         Lua!   l (_ノノノノ

0081デフォルトの名無しさん2011/12/08(木) 03:12:10.13
-- Cから呼ばれる関数
function a()
for i=1, LOOP do b() end
end

-- lua内部から呼ばれる関数
function c()
for i=1, LOOP do
do_something()
coroutine.yield()
end
end

みたいなことをやっている時に、C側からこのスレッドを終了させたいとき
どうしればいいんだろう? lua_resume でCからLuaへ適当な値 CANCEL を返して

function a()
for i=1, LOOP do
if b() == CANCEL then return CANCEL end
end
end

fucntion c()
for i=1, LOOP do
do_something()
if coroutine.yield() == CANCEL then return CANCEL end
end
end
0082デフォルトの名無しさん2011/12/08(木) 03:13:17.75
再投稿スマソ

-- Cから呼ばれる関数
function a()
 for i=1, LOOP do b() end
end

-- lua内部から呼ばれる関数
function c()
 for i=1, LOOP do
  do_something()
  coroutine.yield()
 end
end

みたいなことをやっている時に、C側からこのスレッドを終了させたいとき
どうしればいいんだろう? lua_resume でCからLuaへ適当な値 CANCEL を返して

function a()
 for i=1, LOOP do
  if b() == CANCEL then return CANCEL end
 end
end

fucntion c()
 for i=1, LOOP do
  do_something()
  if coroutine.yield() == CANCEL then return CANCEL end
 end
end

ってやるしかないのかな?
0083デフォルトの名無しさん2011/12/08(木) 03:14:23.76
スレッドの残りの処理をやる必要は全く無いので、Cから強制終了できるならそうしたい。
0084デフォルトの名無しさん2011/12/08(木) 04:02:34.14
Cから lua_resume で呼び出してるのなら、単にその呼び出しにつかってる lua_State を2度と呼び出さずに破棄するだけかと
0085デフォルトの名無しさん2011/12/08(木) 04:08:02.54
lua_sethookでフック関数を登録しその関数の中でエラーを呼んであげればいいよ
lua.cを読むといい
0086デフォルトの名無しさん2011/12/09(金) 10:24:05.41
ありがとう、まさに求めていた情報でした
ついでにココも参考にしました
http://stackoverflow.com/questions/862256/how-can-i-end-a-lua-thread-cleanly
0087デフォルトの名無しさん2011/12/11(日) 14:51:48.99
Lua内でFinalizeが必要な処理(メモリの開放とか、ファイルのクローズとか)を
使われてない保証はあるの?
0088デフォルトの名無しさん2011/12/11(日) 19:24:44.26
なぜ使う人が責任を持たない?
使わせない責任はないと思う。
0089デフォルトの名無しさん2011/12/12(月) 10:41:59.07
使わせない責任…
0090デフォルトの名無しさん2011/12/16(金) 09:51:16.73
        (´\r-、     ┼         +     /`/`)    +
     ┼   (\. \!              *     // ,/)  *
  +     * (ヽ、   \ +  *          /   /)   +
      ⊂ニ      )        *   +  (     ニ⊃
  *  +  ⊂、     (   ∩___∩   ノ     ⊃   +  *
         (/(/   ヽ  | ノ     ヽ /    、)ヽ)  ┼
    +        (/     ∨  ●   ●レ /⌒) 、)ヽ)
     *       (/'   |   ( _●_) ミ'  /、)、)´       +
         +    (/'ヽ 彡、   |∪| ノ /     AngelScript!!
     +            / __ヽノ  /  *      +
       ┼        (___) /      +
               /     /
               (_ ⌒丶..
                | /ヽ }.
                  し  ))
                    ソ  トントン
0091デフォルトの名無しさん2011/12/16(金) 14:21:49.37
逆に php を組み込みスクリプトとしてコールできるような cライブラリはそんざいするの?
0092デフォルトの名無しさん2011/12/16(金) 14:52:19.98
phpならnginxつかっとけ。捗るぞ
0093デフォルトの名無しさん2011/12/16(金) 14:56:17.85
ごめん…。誤爆しました……。

もし、PHPをバインディングしたいのなら、fasrCGIとか参考になるかもしれぬわ。
0094デフォルトの名無しさん2011/12/16(金) 14:57:46.39
原理的にはできるだろうけど、組み込みが簡単にできるように調整されてるって話はきかないね > php

一応 php_embed.h / php_embed.c という解説皆無の組み込み用インターフェースなファイルはあるらしいよw
0095デフォルトの名無しさん2011/12/17(土) 04:31:52.99
lua server pages使っとけよ
0096デフォルトの名無しさん2011/12/17(土) 10:53:41.27
Lua 5.2.0 released
http://www.lua.org/ftp/lua-5.2.0.tar.gz
0097デフォルトの名無しさん2011/12/17(土) 11:13:42.34
ひゃっほー!
0098デフォルトの名無しさん2011/12/17(土) 16:27:21.95
記念していつもの
lua52.dll
ttp://ll.la/*j5u
0099デフォルトの名無しさん2011/12/18(日) 07:25:08.60
Language Changes

Only Lua functions have environments.
C functions no longer have environments.
To manipulate the "environment" of a userdata (which is now called user value), use the new functions lua_getuservalue and lua_setuservalue.
Lua identifiers cannot use locale-dependent letters.
Doing a step or a full collection in the garbage collector does not restart the collector if it has been stopped.
Weak tables with weak keys now perform like ephemeron tables.
The tail return debug event was removed. Tail calls generate a special new event, tail call instead of return.
Equality between function values has changed.
Modules are not expected to set global variables anymore.

0100デフォルトの名無しさん2011/12/18(日) 07:26:06.45
Library Changes

Function module is deprecated. It's easy to just do it in Lua anyway.
Functions setfenv and getfenv were removed, because of the changes in environments.
Function math.log10 is deprecated. Use math.log with 10 as its second argument, instead.
Function loadstring is deprecated. Use load instead; it now accepts string arguments.
Function table.maxn is deprecated. Write it in Lua if you really need it.
Function os.execute now returns true when command terminates successfully and nil plus error information otherwise.
Function unpack was moved into the table library and therefore must be called as table.unpack.
Character class %z in patterns is deprecated, as now patterns may contain '\0' as a regular character.
The table package.loaders was renamed package.searchers.
Lua does not have bytecode verification anymore. So, all functions that load code (load and loadfile) are potentially
insecure when loading untrusted binary data. (Actually, those functions were already insecure because of flaws in the verification algorithm.) When in doubt, use the mode argument of those functions to restrict them to loading textual chunks.
The standard paths in the official distribution may change between versions.

0101デフォルトの名無しさん2011/12/18(日) 07:26:30.19
API Changes

Pseudoindex LUA_GLOBALSINDEX was removed.
Pseudoindex LUA_ENVIRONINDEX and functions lua_getfenv/lua_setfenv were removed.
Function luaL_register is deprecated. Use luaL_setfuncs so that your module does not create globals.
The osize argument to the allocation function may not be zero when creating a new block.
Finalizers (__gc metamethods) for userdata are called in the reverse order that they were marked for finalization.
Moreover, if the metatable does not have a __gc field when set, the finalizer will not be called, even if it is set later.
luaL_typerror was removed. Write your own version if you need it.
Function lua_cpcall is deprecated. You can simply push the function with lua_pushcfunction and call it with lua_pcall.
Functions lua_equal and lua_lessthan are deprecated. Use the new lua_compare with appropriate options instead.
Function lua_objlen was renamed lua_rawlen.
Function lua_load has an extra parameter, mode. Pass NULL to simulate the old behavior.
Function lua_resume has an extra parameter, from. Pass NULL or the thread doing the call.

0102デフォルトの名無しさん2011/12/18(日) 07:33:03.13
このゲーム全部Lua製みたいです。
ttp://itunes.apple.com/us/app/karate-girl-destruction-run/id486428645
0103デフォルトの名無しさん2011/12/18(日) 08:46:38.29
corona製なら全部lua製
0104デフォルトの名無しさん2011/12/20(火) 12:56:32.61
あのチョコが入っている食べ物なんだっけ
0105デフォルトの名無しさん2011/12/20(火) 15:10:24.84
トッポ
0106デフォルトの名無しさん2011/12/20(火) 18:14:12.70
パイの実を差し置いてトッポとかないわ
0107デフォルトの名無しさん2011/12/24(土) 22:41:18.54
おっぱい今年も揉めなかった・・・
0108デフォルトの名無しさん2011/12/24(土) 23:09:25.34
>>107
そうか
もしかしてLua使ってないか?
0109デフォルトの名無しさん2011/12/25(日) 00:18:25.65
>>108
AngelScript使ったらおっぱい揉めますか?
0110デフォルトの名無しさん2011/12/25(日) 04:07:10.85
というかAngelScriptのおっぱい揉みたい。
0111デフォルトの名無しさん2011/12/25(日) 22:11:05.39
おっぱい揉めそうな最強の言語決めようぜ!
0112デフォルトの名無しさん2011/12/25(日) 22:12:05.55
COBOLだな。間違いない
0113デフォルトの名無しさん2011/12/25(日) 22:18:50.60
コボルは巨乳の40代お局様のおっぱいが揉めそうな言語だな。
安定志向の人向け。
0114デフォルトの名無しさん2011/12/25(日) 22:19:39.91
そのオッパイはしぼんでいないか?

しぼんでいないか?
0115デフォルトの名無しさん2011/12/26(月) 06:46:00.24
Adaを忘れちゃいないか?
0116デフォルトの名無しさん2011/12/26(月) 17:27:01.41
え?
0117デフォルトの名無しさん2011/12/29(木) 03:42:19.64
LuaのKahluaみたいな
JVM上で動作するSquirrel実装ってあるかな?
0118デフォルトの名無しさん2011/12/29(木) 03:46:20.80
きいたことない
0119デフォルトの名無しさん2011/12/29(木) 03:59:39.81
そっかー。ありがとう
0120デフォルトの名無しさん2011/12/29(木) 05:41:09.80
luaやってみようとおもったけどプログラミング以前に
基本的なことが出来ません

http://luabinaries.sourceforge.net/download.html
ここから「lua-5.2_Win64_bin.zip」落として解凍したら
「lua52」というアプリケーション出来たので起動して同じフォルダーに

-- hello.lua
print("Hello, World!")

というluaスクリプトファイルを作って保存したんだけど
コマンドラインから
>lua52 hello.lua や >lua hello.lua
ってやっても
stdin:1: '=' expected near 'hello'
とかでて実行できないのは何故でしょう。疲れた。。
ちなみにコマンドラインから直接 print("Hellow,World") と打てば実行できます。
0121デフォルトの名無しさん2011/12/29(木) 06:31:53.54
>>120
dofile("hello.lua")
0122デフォルトの名無しさん2011/12/29(木) 06:51:07.42
おお いけました。
ありがとうございます
0123デフォルトの名無しさん2011/12/29(木) 20:30:00.07
もうすぐ年明けだからお前さん達のこの1年にあったことが聞きたい
0124デフォルトの名無しさん2011/12/29(木) 22:36:53.04
LuaってUTF-16に対応してないの?
0125デフォルトの名無しさん2011/12/30(金) 01:26:37.25
GMってネイティブスレッド扱えるのね。
0126デフォルトの名無しさん2012/01/03(火) 03:21:15.61
ワオ、こんなゲーム屋しかいなさそうなクソスレでambの名が出るとは
0127デフォルトの名無しさん2012/01/03(火) 12:33:26.47
スクリプトをデザイナーに任せることを考えると、
非プログラマでもわりと知っていると思われる
Javascript か PHP、Java をそのまま組み込み言語としてつかいたいところだけど、
結構面倒そうだね。
0128デフォルトの名無しさん2012/01/03(火) 14:57:39.94
いいえ。
0129デフォルトの名無しさん2012/01/03(火) 18:40:46.25
JavaScript→組み込むならSpiderMonkeyやV8が鉄板じゃないかな
Java→むしろJava+JNIで書けばいいじゃない。OpenJDKがあるから組み込むのが不可能だとは言わないが
PHP→不可能じゃないだろうけど、ちょっとそれは考えてもいなかった
0130デフォルトの名無しさん2012/01/03(火) 21:15:00.13
V8は組み込むの簡単だしな。
0131デフォルトの名無しさん2012/01/05(木) 11:34:11.05
ゲームエンジンでJavascript使えるやつがあるな
0132デフォルトの名無しさん2012/01/05(木) 11:39:34.99
CriScriptは残念だった
0133デフォルトの名無しさん2012/01/05(木) 12:46:42.79
PHPは楽に汚く書けるスクリプト言語だから、確かに組み込みにいいかもしれないね。
0134デフォルトの名無しさん2012/01/05(木) 13:56:38.70
お正月にはlua書いてー
0135デフォルトの名無しさん2012/01/05(木) 16:49:42.31
はーらを壊して寝てましょうー
0136デフォルトの名無しさん2012/01/05(木) 21:57:35.31
>>131
Unityとか?
あれのはJavascript風UnityScriptとか言われてるけど。
0137デフォルトの名無しさん2012/01/05(木) 22:56:35.49
誰かAngelScript2.22.1リリースの事に触れてよ
http://www.angelcode.com/angelscript/changes.php?ver=2
0138デフォルトの名無しさん2012/01/05(木) 23:16:03.12
tolua++をVC++(2008)で利用している人に質問。
MFCを用いるWin32コンソールアプリで、いくつかの参考書などを元にグルーコードの作成とビルドは通るようになったのだけども、
プリコンパイル済みヘッダの使用オプション(/Yu)だけ、いろいろ試したのだけども外さないと通らない状態です。
(使用するとfatal error C1853となる)
とくに参考書でも触れられてなく、エラーの内容に沿って修正を試みているのだけども、どうにもうまくいかなくて、困ってます。
今後予定してる本番環境での組み込み時に、プリコンパイル済みヘッダが使えないのはやや困ることもあって、解決したい箇所です。
tolua++側のソースをいじる必要があるようにも見えるのだけど、出来ればそれは避けたいです(後のフォローが大変になる)。
同様の環境で作業されている方、どういう風に処理解決していますか?
0139デフォルトの名無しさん2012/01/06(金) 02:35:44.78
英語わからんしなあ
0140デフォルトの名無しさん2012/01/06(金) 02:54:09.78
>>138
tolua使ってないので適当だけど
生成されたコードを直接ビルドするのではなく
//gen_wrap.cpp
#include "stdafx.h"
#include "gen.cpp"
とかする方法もあるけど
プロジェクト内にgen.cppがないのも不自然なので
/FIオプションでstdafx.hをしてあげるのがいいんじゃないかな
0141デフォルトの名無しさん2012/01/06(金) 07:44:28.90
       //
     /  /   パカッ
     //⌒)∩__∩
    /.| .| ノ     ヽ
    / | |  ●   ● |     
   /  | 彡  ( _●_) ミ Lua!!
   /  | ヽ  |∪|  /_
  // │   ヽノ  \/
  " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ

0142デフォルトの名無しさん2012/01/06(金) 07:46:55.75
あけましておめでtolua
0143デフォルトの名無しさん2012/01/06(金) 23:27:48.11
AngelScriptの2.22.1では様々な高速化も行われているみたいだけど
どうなん?体感速度向上した?
01441382012/01/06(金) 23:37:08.01
>>140
アドバイスありがとうございます。
/FIオプション、試してみましたがうまくいきませんでした。自動生成されるグルーコードとケンカする感じ。
Luaの組み込みはtolua++しか試してないのですが、この辺解決してる他の手段ってありますでしょうか?
面倒がないならそっちに移っちゃうのもアリかと……
0145デフォルトの名無しさん2012/01/07(土) 21:07:58.53
>>143
まだちょっと触った程度だけど、ものすごいスピードアップしたって感じはないかも。
01461402012/01/08(日) 00:40:37.91
>>144
あぁ、なんで困ってんのか今理解できた

c++な自プロジェクトに直接放り込んでいる
tolua++関連のcソースは
別プロジェクトでビルドし静的なり動的なりのライブラリを作成したら
それにリンクすればいいと思うよ
0147デフォルトの名無しさん2012/01/08(日) 20:41:17.46
組み込みではLuaが一番マシだな。
だてに普及してない。
0148デフォルトの名無しさん2012/01/08(日) 22:33:49.80
ノウハウもたまってる品
0149デフォルトの名無しさん2012/01/08(日) 23:12:47.02
普及してない。
0150デフォルトの名無しさん2012/01/09(月) 02:10:24.94
え?
0151デフォルトの名無しさん2012/01/09(月) 08:09:57.17
           ∩_
           〈〈〈 ヽ
          〈⊃  }
   ∩___∩  |   |
   | ノ      ヽ !   !
  /  ●   ● |  /
  |    ( _●_)  ミ/ Lua!!
 彡、   |∪|  /
/ __  ヽノ /
(___)   
0152デフォルトの名無しさん2012/01/09(月) 22:42:01.67
AngelScriptはアドオンでメタデータ使えるようになるみたいだけど
みんなどういうふうに使っている?
0153デフォルトの名無しさん2012/01/10(火) 07:48:48.16
AngelScrip自体使ってないよ
0154デフォルトの名無しさん2012/01/10(火) 11:14:41.77
スクリプトなんてどっぷり使うもんじゃねえんだよ
わかるか小僧?
0155デフォルトの名無しさん2012/01/10(火) 22:03:43.20
>>152
CScriptBuilderは使ってるけど、メタデータは使ってないな…
0156デフォルトの名無しさん2012/01/12(木) 15:00:50.61
        (´\r-、     ┼         +     /`/`)    +
     ┼   (\. \!              *     // ,/)  *
  +     * (ヽ、   \ +  *          /   /)   +
      ⊂ニ      )        *   +  (     ニ⊃
  *  +  ⊂、     (   ∩___∩   ノ     ⊃   +  *
         (/(/   ヽ  | ノ     ヽ /    、)ヽ)  ┼
    +        (/     ∨  ●   ●レ /⌒) 、)ヽ)
     *       (/'   |   ( _●_) ミ'  /、)、)´       +
         +    (/'ヽ 彡、   |∪| ノ /     AngelScript!!
     +            / __ヽノ  /  *      +
       ┼        (___) /      +
               /     /
               (_ ⌒丶..
                | /ヽ }.
                  し  ))
                    ソ  トントン
0157デフォルトの名無しさん2012/01/13(金) 07:40:12.66
           ∩_
           〈〈〈 ヽ
          〈⊃  }
   ∩___∩  |   |
   | ノ      ヽ !   !
  /  ●   ● |  /
  |    ( _●_)  ミ/ Lua!!
 彡、   |∪|  /
/ __  ヽノ /
(___)   
0158デフォルトの名無しさん2012/01/13(金) 19:24:48.16
ドラゴンの囚人が捕まったじゃねぇか...
0159デフォルトの名無しさん2012/01/22(日) 13:23:11.19
TIOBE見る限りLuaって去年一瞬盛り上がっただけで
また元に戻ってしまったみたいだな
0160デフォルトの名無しさん2012/01/22(日) 14:27:24.39
今は盛り上げるな時期が悪い
0161デフォルトの名無しさん2012/01/22(日) 15:36:24.11
>>160
盛り上げるべき時期ってどんなやろう……
0162デフォルトの名無しさん2012/01/22(日) 16:11:08.91
http://makuru.tenohiragaeshi.com/
せっかく作ったから誰か使ってくれ
0163デフォルトの名無しさん2012/01/22(日) 17:18:31.20
Luaで作る2Dゲーム「LOVE」
http://www.moongift.jp/2012/01/20120119/
0164デフォルトの名無しさん2012/01/22(日) 21:06:19.01
ゲームフレームワークLOVE
http://d.hatena.ne.jp/KZR/20100816/p1
0165デフォルトの名無しさん2012/01/23(月) 00:46:59.74
まさかmoai sdkを知らぬ訳ではあるまい
0166デフォルトの名無しさん2012/01/23(月) 05:23:55.67
>>165
moai少し使い方がむずくね?あれ流行らんと思う
0167デフォルトの名無しさん2012/01/23(月) 09:33:19.24
えっ
0168デフォルトの名無しさん2012/01/24(火) 21:02:37.53
moaiって名前がなー。
ガラパゴス島だぞ。
0169デフォルトの名無しさん2012/01/24(火) 21:08:27.53
moaiって名前がなー。
ガラパゴス島だぞ。

せめてダークドラゴンとかいかにも凄そうな名前にしておけば
本物のハッカーが使う闇の道具になったと思う
0170デフォルトの名無しさん2012/01/25(水) 00:00:47.84
>>167
実際難しくないか。特に日本語処理。
Luaの文字列関数郡自体がUTF8やSJISをサポートしていないから
日本語普通に使うだけでも難しい。
文字を切り抜いたり、文字数数えたり、位置を取得したりもそのままやると出来ない。

そこで外部のCライブラリ組み込めたらいいんだけどmoaiもcoronaもそれが
出来ないから日本語でゲーム作ろうとしたりすると高確率で躓く・・・ような気がする。。
0171デフォルトの名無しさん2012/01/25(水) 00:57:31.83
moai のほうはオープンソースだから適当にマルチバイト処理関数足せばいいんじゃ
0172デフォルトの名無しさん2012/01/25(水) 02:06:48.30
>>171
確かにそうなんだけどそれをしないと使えないのはやはり敷居高くない?
標準関数がUTF対応していないlua側の問題でもあるんだけれど、
moaiやcoronaがマルチバイト言語の国で流行りそうにないなー、
と思ったのはそういうところ。
まぁ将来的なバージョンアップでどう変わるかは分からないし、
俺からも開発チームにUTF対応の文字列処理関数の標準実装を
提案したんでなんか進捗あったら報告するよ
0173デフォルトの名無しさん2012/01/25(水) 02:14:39.72
Luaはもっと言語仕様絞ってもいいくらい。
ライブラリを充実させて欲しい。
0174デフォルトの名無しさん2012/01/25(水) 10:15:24.89
AngelScript|Д`)<デフォでUTF8に対応してるよ
AngelScript|Д`)<SJISは有志のやつ使わないとダメだけど
0175デフォルトの名無しさん2012/01/25(水) 12:26:40.87
AngelScriptは擬人化すると8歳〜11歳位の金髪美小女。
北欧の小学校に通う祖母と二人暮らしのイメージ。
0176デフォルトの名無しさん2012/01/25(水) 12:29:34.00
Luaは擬人化するとスウェーデンあたりの14歳くらいの祖父と二人暮らしの青髪美少年。
つまりAngelScriptと相性抜群なのは言うまでもない。
0177デフォルトの名無しさん2012/01/25(水) 12:30:55.85
擬人化とか精神がオタクすぎるからやめてw

新板でも立ててやってくれw
0178デフォルトの名無しさん2012/01/25(水) 12:32:25.59
>>177
すまんwAngelScriptの響きがエロすぎてついwww
これっきりだから許してくれw
0179デフォルトの名無しさん2012/01/25(水) 15:34:11.01
         \   l´⌒\⌒\ \\ \
           \ ヽ   )  )   \\ \\   
              (   \ \∩___∩ \\ 
           \   \  ⌒⌒| ノ      ヽ  \\      
              \ \   /  ●   ● ト、\ \\\ 
               \  Y |    ( _●_)  ミ\  \\\  
               \ / 彡、_  |∪| ノ   \  \\\
                 (____)―ヽノ' ヽ      ̄ ̄ ヽ\\
                                \,  j  l l .l }
                         Lua!   l (_ノノノノ

0180デフォルトの名無しさん2012/01/25(水) 18:11:28.95
        (´\r-、     ┼         +     /`/`)    +
     ┼   (\. \!              *     // ,/)  *
  +     * (ヽ、   \ +  *          /   /)   +
      ⊂ニ      )        *   +  (     ニ⊃
  *  +  ⊂、     (   ∩___∩   ノ     ⊃   +  *
         (/(/   ヽ  | ノ     ヽ /    、)ヽ)  ┼
    +        (/     ∨  ●   ●レ /⌒) 、)ヽ)
     *       (/'   |   ( _●_) ミ'  /、)、)´       +
         +    (/'ヽ 彡、   |∪| ノ /     AngelScript!!
     +            / __ヽノ  /  *      +
       ┼        (___) /      +
               /     /
               (_ ⌒丶..
                | /ヽ }.
                  し  ))
                    ソ  トントン
0181デフォルトの名無しさん2012/01/25(水) 23:39:28.24
>>170
"pure lua" utf8
をGoogleUSで検索した1件目
http://www.wowace.com/addons/utf8/

icuと比べ数十倍は遅いけど
ゲーム用なら問題なく使えると思うよ
0182デフォルトの名無しさん2012/01/25(水) 23:46:40.61
>>181
おお、これかなり便利そうだね。
後で使ってみるよサンクス。
0183デフォルトの名無しさん2012/01/27(金) 19:30:33.54
Programming in Lua 4800円たけーよ
だれか公式のver5.0訳してくれよただで
0184デフォルトの名無しさん2012/01/27(金) 19:33:19.50
2400円ならいいよ
0185デフォルトの名無しさん2012/01/27(金) 20:53:56.66
1ページ10円は技術書の標準的な価格
別に高くないよ
0186デフォルトの名無しさん2012/01/27(金) 21:39:50.81
英語勉強しろ
0187デフォルトの名無しさん2012/01/30(月) 17:31:12.94
AngelScript 2.22.2 is released - GameDev.net
http://www.gamedev.net/topic/619362-angelscript-2222-is-released/

・namespaceが使えるようになった
・グローバル変数もsharedに出来る
とか
0188デフォルトの名無しさん2012/01/30(月) 21:50:26.55
>>187
今のところ、namespaceで囲っている部分から、RegisterGlobalFunctionで登録したグローバル関数や、
グローバル名前空間(って言うのか?)の関数を呼び出そうとすると文法エラーになる模様。
0189デフォルトの名無しさん2012/01/30(月) 23:26:21.29
        (´\r-、     ┼         +     /`/`)    +
     ┼   (\. \!              *     // ,/)  *
  +     * (ヽ、   \ +  *          /   /)   +
      ⊂ニ      )        *   +  (     ニ⊃
  *  +  ⊂、     (   ∩___∩   ノ     ⊃   +  *
         (/(/   ヽ  | ノ     ヽ /    、)ヽ)  ┼
    +        (/     ∨  ●   ●レ /⌒) 、)ヽ)
     *       (/'   |   ( _●_) ミ'  /、)、)´       +
         +    (/'ヽ 彡、   |∪| ノ /     AngelScript!!
     +            / __ヽノ  /  *      +
       ┼        (___) /      +
               /     /
               (_ ⌒丶..
                | /ヽ }.
                  し  ))
                    ソ  トントン
0190デフォルトの名無しさん2012/01/31(火) 07:46:16.54
   /ヽ /ヽ
  ':' ゙''"  `':,
  ミ   ・ω・ ;,
 :; . っ     ,つLua
  `:;      ,;'
   `( /'"`∪
0191デフォルトの名無しさん2012/01/31(火) 11:39:27.30
http://makuru.tenohiragaeshi.com/
更新した
0192デフォルトの名無しさん2012/02/01(水) 12:23:35.36
いまのver5.2でも

C>lua.exe -lilua

ってできる?
lua52〜にしてもできんかった
0193デフォルトの名無しさん2012/02/01(水) 19:27:58.54
>>192
普通に出来る
0194デフォルトの名無しさん2012/02/01(水) 20:16:48.14
Lua 5.2.0 WindowsシフトJIS漢字対応版

リテラル、コメント、string.format、正規表現エンジンで
シフトJIS対応

http://mynickname.web.fc2.com/
0195デフォルトの名無しさん2012/02/02(木) 00:11:12.06
おー、ありがたいね。
これで5.2にバージョンアップしよう。
0196デフォルトの名無しさん2012/02/03(金) 19:32:44.34
Lua 5.2.0 WindowsシフトJIS漢字対応版
Lua 5.1.4 WindowsシフトJIS漢字対応版

http://mynickname.web.fc2.com/

漢字処理関数とイテレーターの追加
5.1.4へのバックポート
0197デフォルトの名無しさん2012/02/04(土) 11:47:04.32
>>196のって非公式ソース? 
例えばこれ入れるとstring.lenとかで日本語混在でも正しい文字数計測できたりするってこと?
0198デフォルトの名無しさん2012/02/04(土) 15:00:31.86
非公式って意味不明だけど
公式のソース lua5.2.0.tar.gz にシフトJIS漢字を扱うための修正を加えたものを
VisutalStudio2010ExpressのVC10で実行形式にしたもの。
5.1.4の方はまだ ちょっとしたバグがあるもよう。
0199デフォルトの名無しさん2012/02/04(土) 15:03:34.86
ちなみに

string.lenおよびstring.subは修正なし。
string.mblenは漢字混在で正しい文字列を数え、
string.mbsubでそれを使った操作が可能。
string.match/string.sub/string.formatは漢字が混ざっていても動作する。
0200デフォルトの名無しさん2012/02/04(土) 15:09:32.92
MITってソース公開義務がないんだったなそういえば
0201デフォルトの名無しさん2012/02/04(土) 15:21:34.65
なにいってんだかわかんない。
実行ファイルもソースも全部同梱してるから未公開部分なんてないw
0202デフォルトの名無しさん2012/02/04(土) 18:13:05.54
単純に、MITライセンスのコードに、手を加えた場合の話だとおもう。
0203デフォルトの名無しさん2012/02/04(土) 19:45:46.45
>>198-199
いや、LUAが公式で配布しているソースなのかどうかを聞きたかっただけだ。
意味不明と言いながらちゃんと俺の言いたかった事を理解してんじゃないかw
分かってると思うけれど要は公式のソースを改変した非公式配布のものかどうかって事が言いたかったというわけだw

まぁでもサンクス。こういう活動は面白いね
0204デフォルトの名無しさん2012/02/05(日) 23:05:50.11
Luaはソースコードを管理する公開リポジトリがないのか
http://www.lua.org/faq.html#1.8

要するに一つの変更ごとに説明つけたり
ドキュメントを最新の状態に保つのが嫌だからって事らしいが

それでも別にリリース毎にだけ 更新するリポジトリを持っても良さそうだけど
0205デフォルトの名無しさん2012/02/05(日) 23:18:21.68
自分の手許でレポジトリあげて管理すれば別に困ることはないような
0206デフォルトの名無しさん2012/02/06(月) 07:12:28.99
ウェブの60%以上がすでにUnicodeに、Googleが文字コードについて発表
http://www.rbbtoday.com/article/2012/02/04/85950.html

追い風になってほしいな
0207デフォルトの名無しさん2012/02/06(月) 07:13:22.47
もしcontinueの提案をすんなり採用していたら
gotoを思いつく暇もなかったかもしれないな
0208デフォルトの名無しさん2012/02/06(月) 07:38:55.98
ウェブだけだろ
オープンソース関係でUnicode対応してるのなんて見たこと無いが?
_T()なんて毎回つけろとか仕様がアホすぎるだろw
0209デフォルトの名無しさん2012/02/06(月) 07:43:31.11
\0すら文字列のLuaでは文字コードなんてどうでもいいような。
つまり柔軟なのでどう使うかは自由
0210デフォルトの名無しさん2012/02/06(月) 08:03:51.35
キセルのように両端をUnicodeにするだけでいいんだよな
0211デフォルトの名無しさん2012/02/06(月) 17:43:49.80
配列が1からなのが気持ち悪くて
0212デフォルトの名無しさん2012/02/06(月) 17:56:07.09
ポインタ病ですな。社会通念では1が常識です。
0213デフォルトの名無しさん2012/02/06(月) 17:59:02.53
そして、Luaはプログラマのためではなくエンドユーザーのための道具であるわけですから1からでよいのです。
0214デフォルトの名無しさん2012/02/06(月) 18:29:52.63
ここの人たちはluaで何作ってるんだろう
0215デフォルトの名無しさん2012/02/06(月) 20:59:57.41
何か壊れたらそれを作ればいいし何も壊れないなら適当にゲームとか作ればいいだろ
0216デフォルトの名無しさん2012/02/06(月) 21:41:36.76
まあ文字コードの変換無しでいけるのならちょっとだけ速くなるって利点があるか。
0217デフォルトの名無しさん2012/02/06(月) 23:33:37.86
1は合理的じゃないからいや
0218デフォルトの名無しさん2012/02/07(火) 01:37:58.86
どうせ配列は連想配列なんだし、添え字に0入れれば使えるじゃん。
負の数すら入る。
スピードは知らん。
0219デフォルトの名無しさん2012/02/07(火) 01:54:23.70
よく考えて選ぶより何も考えず両方試す方が効率的なこともある
0220デフォルトの名無しさん2012/02/07(火) 07:58:38.60
0が合理的なんて理系に向いてないんじゃないの?
0221デフォルトの名無しさん2012/02/07(火) 08:16:52.48
そうですね!
0222デフォルトの名無しさん2012/02/07(火) 08:37:25.80
ffmpeg のストリーム指定オプションとか0ベースだから分かり難い。
プログラマ脳を信じちゃだめ。
0223デフォルトの名無しさん2012/02/07(火) 09:13:08.63
>>220
0224デフォルトの名無しさん2012/02/07(火) 09:13:35.62
>>220
集合論さんdisってんのか
0225デフォルトの名無しさん2012/02/07(火) 11:18:02.49
自然数は0からだろうJK
0226デフォルトの名無しさん2012/02/07(火) 12:54:26.23
例えば、ドラクエ買うために前の晩から店に並んでたら、
開店した瞬間に、「では0番目のお客さまどうぞ」っていわれたら
納得するか?
0227デフォルトの名無しさん2012/02/07(火) 13:08:49.61
だが0から始まる言語なら誰も並ばないデスクリムゾンのような糞ゲーの並びも
誰もいなかったと認識できるのだ
0228デフォルトの名無しさん2012/02/07(火) 14:45:45.91
ボラティリティは0から
ポジションは1から
0229デフォルトの名無しさん2012/02/07(火) 23:46:21.74
イギリス式の階数の数え方も0からって考えていいのかな?
1Fがグランドフロア、その上が1階、2階、って増えていくやつ。
0230デフォルトの名無しさん2012/02/08(水) 07:46:22.73
例えば、福男の神事で、一生懸命走って最初に神主さんの胸に飛び込んだのに
「0等賞です!おめでとう!」っていわれたくないだろ?
0231デフォルトの名無しさん2012/02/08(水) 08:02:59.18
>>229
英国でもその他の地域でも、地下は1階からだよね。
そう考えると英国式のほうが良いように思えてきた。
0232デフォルトの名無しさん2012/02/08(水) 09:27:43.65
英国のは「0階」ではないよ。あれはground floor、つまり、Lua でいうところの nil 。
0233デフォルトの名無しさん2012/02/08(水) 12:09:23.84
ボタンは0になってるところ多いけどな
でも地下が-1だから配列とは関係無いな
0234デフォルトの名無しさん2012/02/08(水) 13:10:07.81
http://www.indeed.com/jobtrends?q=Lua%2CSquirrel%2CPAWN&l=
ここ最近、後発のSquirrelよりLuaのが人気出てるのは
やっぱiPhoneで使えるからってだけ?
0235デフォルトの名無しさん2012/02/08(水) 13:37:45.87
速いし軽いからじゃね
0236デフォルトの名無しさん2012/02/08(水) 17:26:39.76
組み込み系の場合は言語仕様の優劣以前に
改造のしやすさとかホストアプリとの親和性とか
そいうった別の側面が大きいからねえ。
0237デフォルトの名無しさん2012/02/08(水) 17:31:03.77
iPhoneとLuaから連想されるのは、C++の不人気
0238デフォルトの名無しさん2012/02/10(金) 01:24:14.99
Luaの場合、他でも使われてるから使う、ってのも大きいんじゃないの?
実績があるって事だし。
0239デフォルトの名無しさん2012/02/10(金) 12:10:04.60
iPhoneでもC++使ってるとこ多そうだけど、不人気なの?
0240デフォルトの名無しさん2012/02/10(金) 19:12:53.23
関数の引数に数値型を参照渡しするにはどう書けばいいですか?
0241デフォルトの名無しさん2012/02/10(金) 19:17:23.04
なぜ参照私か
0242デフォルトの名無しさん2012/02/10(金) 19:22:51.71
言語名も書かずに
0243デフォルトの名無しさん2012/02/10(金) 19:23:51.79
f(a, b, c) を参照渡しじゃなくて
a, b, c = f(a, b, c)
とやればいいでそ
0244デフォルトの名無しさん2012/02/10(金) 19:26:31.07
Squirrelです。
Cでいう所の

void f(int& a){
}

ということをやりたいだけです。
0245デフォルトの名無しさん2012/02/10(金) 20:37:24.19
           ∩_
           〈〈〈 ヽ
          〈⊃  }
   ∩___∩  |   |
   | ノ      ヽ !   !
  /  ●   ● |  /
  |    ( _●_)  ミ/ Lua!!
 彡、   |∪|  /
/ __  ヽノ /
(___)   
0246デフォルトの名無しさん2012/02/10(金) 21:53:58.74
>>244
そういう仕様は無いので出来ません。
辞書を渡して値をいれてもらうとかで代替するしか無いかと
0247デフォルトの名無しさん2012/02/10(金) 21:56:33.09
>>244
参照を渡すのは変数をpublicにするようなものなので、いまひとつ需要がない。
setterやgetterを作って渡すか配列を作って渡す。
0248デフォルトの名無しさん2012/02/12(日) 01:25:10.16
Luaプログラミング言語 - Wikipediaテンプレのスクリプト言語に採用
http://news.mynavi.jp/news/2012/02/07/010/

Wikipediaのテンプレートで使用するスクリプトとして「プログラミング言語Lua」を採用することで関係者の意見が一致を見たようだ。
これまでWikipediaの複雑なテンプレートを改善する必要性は指摘されていたが、これで進展を見せることになる
0249デフォルトの名無しさん2012/02/12(日) 04:02:45.46
Squirrelって人気無いの?
0250デフォルトの名無しさん2012/02/12(日) 05:36:04.12
俺の周辺では大人気だよ
0251デフォルトの名無しさん2012/02/12(日) 06:38:23.91
俺の周辺ではまったく人気ないな
0252デフォルトの名無しさん2012/02/12(日) 06:59:58.85
俺の周辺ではたわし
0253デフォルトの名無しさん2012/02/12(日) 07:15:16.82
>>250
大人気はどうでもいいんで人気を教えてください
0254デフォルトの名無しさん2012/02/12(日) 09:14:49.51
イカ臭いよお前
0255デフォルトの名無しさん2012/02/12(日) 12:49:42.96
お前の臭いじゃないの?
0256デフォルトの名無しさん2012/02/12(日) 13:59:43.88
StorokeItもStrokesPlusもLua
0257デフォルトの名無しさん2012/02/13(月) 10:36:27.13
ぅあ臭い
0258デフォルトの名無しさん2012/02/13(月) 13:46:55.63
           ∩_
           〈〈〈 ヽ
          〈⊃  }
   ∩___∩  |   |
   | ノ      ヽ !   !
  /  ●   ● |  /
  |    ( _●_)  ミ/ Lua!!
 彡、   |∪|  /
/ __  ヽノ /
(___)   
0259デフォルトの名無しさん2012/02/13(月) 14:19:23.51
luabindで質問です。
構造体をバインドで、メンバ変数が配列の場合、
変数のバインドはできないのでしょうか?

http://old.nabble.com/how-to-bind-a-raw-array--td21440448.html
ここを見る限り、配列のバインドは出来ないような事が書かれており、
class_::property()を使って、ラップ関数でアクセスする方法が載っています。
こうするしかないでしょうか?
0260デフォルトの名無しさん2012/02/14(火) 14:10:54.92
>>259
出来るよ

基本的にはそうでしょうね

struct X { T data[N]; };
で X x; としたときに
インスタンスの&x.data[0]が分からなどうにもなりませんからね。
でも、x.data, T, Nが分かればどうにでもなるでしょ?
0261デフォルトの名無しさん2012/02/14(火) 21:19:58.94
http://twolivesleft.com/Codea/
これ流行ると思う?
0262デフォルトの名無しさん2012/02/14(火) 22:22:49.86
これ、たぶん外部からのスクリプトの import/export ついてないよね?
つけた時点で規約違反でアウトになると思うんだが……
0263デフォルトの名無しさん2012/02/15(水) 11:16:01.50
Lua統合開発環境、スタンドアローン版で登場
ttp://news.mynavi.jp/news/2012/02/15/028/
0264デフォルトの名無しさん2012/02/15(水) 11:56:15.31
まだ使ってないけど
他言語との連携がLuaの肝なのに
スタンドアロンにして大丈夫なのか
0265デフォルトの名無しさん2012/02/15(水) 12:24:35.58
大丈夫だ
0266デフォルトの名無しさん2012/02/15(水) 12:59:47.67
きたああああああ
これとMoai SDKで最強やんけ
0267デフォルトの名無しさん2012/02/15(水) 13:12:57.08
外部からデバッグできる口を作る一般的な方法が確立してるなら問題ないんじゃね?
0268デフォルトの名無しさん2012/02/15(水) 21:55:10.60
エディタとデバッガ分離して別々にインストールできるようにして欲しいとこ。
Eclipseもっさりんこすぎ。 フリーズしてラグいw
0269デフォルトの名無しさん2012/02/15(水) 23:28:51.42
>>260

259です。

class_::property()を使用して出来るという事でしょうか?
わたしの理解が足りてないのですが、
Nを知る手段が分かりません・・・

また、Lua側で x.data[1] = 0 といった事が上手くできませんでした。

その他の手段としてメタメソッドの変更で何とか出来そうな気もするのですが、
こんどはC++側での x.data を知る手段が分からず・・・
0270デフォルトの名無しさん2012/02/16(木) 19:42:12.11
AngelScriptJITキター
でもVS2010持ってねぇーorz
0271デフォルトの名無しさん2012/02/17(金) 16:23:11.90
Express でいいじゃない
コマンドライン版でよければ Windows SDK 入れるだけで入るよ>VC++
0272デフォルトの名無しさん2012/02/17(金) 21:09:44.37
Lua 5.1.5 released
http://www.lua.org/ftp/lua-5.1.5.tar.gz
0273デフォルトの名無しさん2012/02/18(土) 00:13:28.11
>>271
とりあえずExpressインストールして試してくる。
0274デフォルトの名無しさん2012/02/18(土) 00:22:16.48
5.2 release age
0275デフォルトの名無しさん2012/02/18(土) 01:50:14.07
>>272 見てLuaBinariesに行ったら5.1.5はまだ無かったけど
[08/Jan/2012] Lua 5.2.0 - Release 2があった
0276デフォルトの名無しさん2012/02/18(土) 03:57:30.49
>>269
x.dataに{Type=..., Size=... ,__index=..., __newindex=...}
なメタテーブルをセットする
mt.Type, mt.Sizeがキモいなら
struct TypeInfo { int type; size_t size; };
std::map<void*, TypeInfo>
とかで管理してもいい
mtをセットするタイミングは
local _X = X
function X(...)
x=_X()
-- ここで
return x
end
C側で管理している場合は__gcも設定してmap.eraseするのを忘れずに
0277デフォルトの名無しさん2012/02/18(土) 22:01:57.00
AngelScriptJITはMITライセンスなのか
0278デフォルトの名無しさん2012/02/19(日) 16:48:49.38
とりあえずAngelScriptJITを試してきた。
簡単なFibonacci数の計算をスクリプトでやらせると、通常の時の半分ぐらいの時間で済んでた。
0279デフォルトの名無しさん2012/02/24(金) 11:56:04.97
LuaってやっぱPerl/Ruby/Pythonとかと比べて
簡単にできることが激少ないんですかね?
例えば複数のファイルの名前にnekoって文字を付け足すとか
ファイルに行番号を付与するとかのちょっとしたこと
0280デフォルトの名無しさん2012/02/24(金) 11:59:35.18
用途が異なるんだから当たり前
0281デフォルトの名無しさん2012/02/24(金) 14:08:56.91
>>279
そんなことないと思うよ
標準ライブラリのボリューム、end }, exp stなどの違いで
Golf向きではなかったり苦手な処理もあるけど
出来ない表現ってのはないと思う

とりあえず、仕様がいまいちわからないので
簡単に出来るPerl/Ruby/Pythonという言語で
その2つの例題の解答例をさっくり書いてもらえないかな?
0282デフォルトの名無しさん2012/02/24(金) 15:22:39.11
perl や ruby は、組み込みの正規表現記法や文字列操作用の特殊変数を持ってるので、
単純な文字列操作系の記述はシンプルになるね。そういうのを lua に求めるのは筋違い

文字列処理自体は普通に扱えるから、トリッキーな記述はできないってだけで、
Cとかで組むよりははるかに簡単やね。外部ライブラリでさわれないことはもちろんできないけど
0283デフォルトの名無しさん2012/02/24(金) 15:45:56.73
グローバルオブジェクトみたいなオブジェクトも持って「:」で呼び出しつつ
スタティックなメンバを「.」で呼び出すみたいなのってどうやって作ればいいんだろ
0284デフォルトの名無しさん2012/02/24(金) 16:39:49.98
スタティックなメソッドはただの関数
スタティックなフィールドはただのグローバル変数でいい
0285デフォルトの名無しさん2012/02/24(金) 18:00:58.12
>>283
metatableのcallやindexを指定する方法もあるけど
fooモジュールなら
f = foo.new()
f:a()
foo.func(f,...)
てな呼び出しが一般的かな
luarocksやluaforgeで公開されている
メジャーどころのライブラリを真似るのが楽でいいと思う
02862792012/02/24(金) 19:55:53.73
>>281
すみません。どれもやったことありません。
2つの例はPerl等でやれば簡単と、
どこかの書き込みを見たことがあっただけでした
0287デフォルトの名無しさん2012/02/24(金) 19:59:15.81
Rubyなら
files = Dir.glob("*")
一発で済むところを
f = io.popen("DIR/B", "r")
こんな風にゴニョゴニョ

さいとうたかをのマンガ「サバイバル」的な何か。
だがそれが良いw
0288デフォルトの名無しさん2012/02/24(金) 20:14:00.86
io.popen("perl")でいい
rubyでこれをやる気にはならないが、luaならできる
0289デフォルトの名無しさん2012/02/25(土) 09:32:39.63
luaはもともとそういうコンセプトだからね
必要機能を省いて超高速動作する
でも別に簡単処理が出来ないわけじゃない
自分で関数を作ってrequireすればいいだけ
0290デフォルトの名無しさん2012/02/25(土) 11:21:12.14
popenを双方向にしてみた

#!/usr/bin/perl
use POSIX;
pipe($i, $o);
POSIX::dup2(fileno($i), 0);
POSIX::dup2(fileno($o), 1);
close $i;
close $o;
exec(@ARGV);

#!/usr/local/bin/lua
local f = io.popen("perl")
io.write([[print "$_\n" for (glob('*'));]], "\n__END__\n")
io.flush()
for l in f:lines() do io.stderr:write(l, "\n") end
f:close()
0291デフォルトの名無しさん2012/02/25(土) 12:01:14.63
         \   l´⌒\⌒\ \\ \
           \ ヽ   )  )   \\ \\   
              (   \ \∩___∩ \\ 
           \   \  ⌒⌒| ノ      ヽ  \\      
              \ \   /  ●   ● ト、\ \\\ 
               \  Y |    ( _●_)  ミ\  \\\  
               \ / 彡、_  |∪| ノ   \  \\\
                 (____)―ヽノ' ヽ      ̄ ̄ ヽ\\
                                \,  j  l l .l }
                         Lua!   l (_ノノノノ

0292デフォルトの名無しさん2012/02/25(土) 16:39:42.73
>>287
それはwinだからじゃね?
Linuxなら
luarocks install luaposixで入れて
local px = require "posix"
files = px.glob("*")
するだけなので大して変わらないよ
0293デフォルトの名無しさん2012/02/25(土) 18:50:39.24
>自分で関数を作ってrequireすればいいだけ

まぁそれが塵も積もれば面倒臭いわけだけどな
0294デフォルトの名無しさん2012/02/25(土) 22:49:22.73
というか Luaのユーザー層って組み込み用だから
単独でLua使おうとは思ってないでしょw
スタンドアローンならPythonやRuby使ってるだろうし、
アプリ側はC/C++でそ。
0295デフォルトの名無しさん2012/02/25(土) 23:01:27.52
軽量Rubyってその後どうなってるんだっけ
0296デフォルトの名無しさん2012/02/25(土) 23:06:01.12
今年の四月に公開の予定。
さて どうなんだろ。

longjump投げるようならパス。
ホスト側でC++使えないとまずいからね。
0297デフォルトの名無しさん2012/02/25(土) 23:48:33.21
一応、公式の紹介文ではLua使いは

・開発者がC/C++等と合わせて使う
・1 SHOT KILL?のLua単体プログラミングとして使う
・ゲーム等でエンドユーザーが使う

の3種類にわかれると書いてたな。
1 Shot killがよくわからんけど。
0298デフォルトの名無しさん2012/02/26(日) 10:11:29.92
AngelScriptJITだと!?
俺2005pro止め…面倒
0299デフォルトの名無しさん2012/02/26(日) 14:35:11.08
>>297
マルチプラットフォームってこと
0300デフォルトの名無しさん2012/02/26(日) 15:02:20.41
> 一応、公式の紹介文ではLua使いは
>
> ・開発者がC/C++等と合わせて使う
> ・1 SHOT KILL?のLua単体プログラミングとして使う
> ・ゲーム等でエンドユーザーが使う
>
> の3種類にわかれると書いてたな。
ソースよろ
0301デフォルトの名無しさん2012/02/26(日) 15:29:28.03
>2 ?
0302デフォルトの名無しさん2012/02/26(日) 15:40:17.64
これかな?
http://www.lua.org/pil/p1.1.html
0303デフォルトの名無しさん2012/02/26(日) 16:16:44.09
>>301
ONE SHOT site:http://www.lua.org/
ONE SHOT site:http://lua-users.org/
でググったけど見つからん

>>302
one-shot little programs.

ONE SHOT KILL little programs.
と脳内補完しちゃったってことか
03042972012/02/26(日) 17:24:38.09
すまんうろ覚えだったw
0305デフォルトの名無しさん2012/02/26(日) 18:47:41.76
そういうの白ける
0306デフォルトの名無しさん2012/02/26(日) 19:55:05.84
Lua 5.1.5 Windows SHIFTJIS版
http://mynickname.web.fc2.com/

>2012/02/26 5.1.5に対し5.1.4と同じ修正を当てた
>(このバージョンアップでは修正箇所への影響無しと判断)
0307デフォルトの名無しさん2012/02/26(日) 20:05:48.09
SJis対応って具体的に何が対応してるんですか?
問題なんか起こった記憶がないんだけど
0308デフォルトの名無しさん2012/02/26(日) 20:15:11.13
>>307
「表」とか文字列で使うとわかると思うよ
0309デフォルトの名無しさん2012/02/26(日) 20:29:38.61
SHIFTJIS対応してないと、正規表現式に漢字を入れても正しく動作しない。
それどころか、Luaの場合、コメント中でも誤動作する可能性があるのねw
0310デフォルトの名無しさん2012/02/26(日) 20:48:54.95
>>309
コメントでも誤動作するのか・・・知らなかった。
SJISって重要なんだな
0311デフォルトの名無しさん2012/02/26(日) 20:51:55.42
というか WindowsのコンソールもUbuntuのように
UTF-8で動作すれば問題ないのにさw
0312デフォルトの名無しさん2012/02/26(日) 21:18:43.15
そんなに重要なら問題なら本家でパッチしてもらったほうがいいと思うのですが
0313デフォルトの名無しさん2012/02/26(日) 21:28:32.71
本家にシフトJISに対応してもらうのん?
日本語Windows使ってないとテストもできないでそ。
0314デフォルトの名無しさん2012/02/26(日) 21:45:29.17
SJIS そのものが欠陥なのでスルーが正解。もう UTF-8 でいいっしょ
0315デフォルトの名無しさん2012/02/26(日) 22:05:50.89
たしかにUTFがあるのにSJISを選ぶ理由ってなに?
0316デフォルトの名無しさん2012/02/26(日) 22:19:24.38
それはWindowsのコンソールがSHIFTJISだからですよん
0317デフォルトの名無しさん2012/02/26(日) 23:18:12.63
sjisはともかく、cp932が生まれたのはunicodeの責任もあるので、スルーは無責任だよね
0318デフォルトの名無しさん2012/02/26(日) 23:21:13.37
WindowsはSjisベースだし、移行しようとしてるのはUnicodeという独自規格だし
UTF8の出番はないですね
0319デフォルトの名無しさん2012/02/26(日) 23:27:49.88
またwindowsしか知らない人のsjisのしょーもない話か
0320デフォルトの名無しさん2012/02/26(日) 23:37:58.74
ゲーム機系は、APIは全部UTF-8 になったのに、接続ツールのコンソール表示が UTF-8 対応してなくてもにょる
0321デフォルトの名無しさん2012/02/27(月) 01:09:38.00
んと、UTF8のシェルを作って、その上でUTF8のLuaを動かしたとしてもね、
周囲のコマンドがSHIFTJISだからね、
io.popen使った時に激しく文字コード変換することになるわけさ。
変換の時にダメ文字の挙動どうするかとかめんどくさいことも
考えなくちゃいけいないw
それともCygWinみたいにごっそり環境作る? w

けっきょくSJISで運用するのがラクなのさw
0322デフォルトの名無しさん2012/02/27(月) 01:13:04.48
ついでに、Luaって数値のデータ型に整数が無くて
演算が倍制度浮動小数点だからね、
ウニコード文字の比較とか厄介な問題がある。
とりあえず、UTF16やUCSはUTF8に変換すれば
ストリングをコンテナとして 保持することは問題ないのさぁ
0323デフォルトの名無しさん2012/02/27(月) 19:28:31.52
関数に渡した可変引数の値をまるごと変数に代入してから
別の関数に可変引数の「...」を参照した時と同じ形で渡してやるにはどうしたらいいんだろう?

--関数定義
function hoge( x, y, ... ) --可変引数を何らかの保存領域に突っ込みたい関数
{
. --[[ 完全に文法間違ってるけど外にスコープ持ってる変数tempに可変引数の値全部渡すイメージ ]]--
. temp = ...
}

function foo( a, b, ... ) --hogeが保存した可変引数を参照して利用する関数
{
print(...)
}

--メイン
function hoge( 50, 100, "L","U","A" ) --ここで複数の文字列等の値が保存用の変数に渡される
function foo( 200, 400, temp ) --保存用に使ったものを可変長引数として置く

--[[ 欲しい出力

L   U   A

]]--

可変長returnみたいなのが使えればいいのかもしれないがどうにもその実装が思い当たらない

利用する可変長引数の引数の上限定めて可変長引数を配列として代入して
その配列の要素頭から10〜20位を「return arg[1],arg[2],〜…」と複数の値返すようベタ書きして
規定の上限超過するようならエラー返し上限に満たないなら余った要素のnilごと投げて返す関数で対応とか考えもしたけど
なにこの書き方馬鹿なの馬鹿なのと笑われるようなことをしている気がしてならないんだ…
0324デフォルトの名無しさん2012/02/27(月) 19:43:07.54
> function f(...)
>> return ...
>> end
> print(f(1, 2, 3, 4))
1 2 3 4
0325デフォルトの名無しさん2012/02/27(月) 19:47:03.35
> function f(...)
>> d = table.pack(...)
>> d[1] = d[1] + 1
>> return table.unpack(d)
>> end
> print(f(1, 2, 3, 4))
2 2 3 4
>
0326デフォルトの名無しさん2012/02/27(月) 19:53:56.53
unpackでテーブルから可変引数に変換できるのか!
リファレンスを可変で検索しても見当がつかなかったんだ
良かった…これで見るからにどっか間違ってる書き方をしないで済んだよありがとう
0327デフォルトの名無しさん2012/02/28(火) 04:54:00.60
あれ、LUAってもしかしてswitch無いの・・・?
0328デフォルトの名無しさん2012/02/28(火) 05:16:18.83
continueも忘れないでね
0329デフォルトの名無しさん2012/02/28(火) 07:41:12.07
switch風やcontinue風に書くできるけど出勤時間なのだ。
0330デフォルトの名無しさん2012/02/28(火) 12:52:18.75
組込みスクリプトにschemeを選ばない奴は、CSの知識が欠けた2流
0331デフォルトの名無しさん2012/02/28(火) 13:05:03.97
schemeとか継続あるせいで遅いし・・・
0332デフォルトの名無しさん2012/02/28(火) 13:21:46.23
新しいハードなりアーキテクチャが出た際でも、schemeだとすぐに実装が出てきそう
0333デフォルトの名無しさん2012/02/28(火) 20:00:44.95
何言ってんの、こいつ
0334デフォルトの名無しさん2012/02/28(火) 21:09:57.95
表記が簡単=難読化だからな
明示的な書き方しない言語はどうも好きになれない
0335デフォルトの名無しさん2012/02/28(火) 22:15:14.29
Cの悪口はそこまでだ
0336デフォルトの名無しさん2012/02/29(水) 00:07:28.14
>>334
組込みスクリプトって、AIみたくロジックに集中するためのものだろ
c++やjavaのように長ったらしいクラス名や変数名を付ける必要ない

今日日のPHP,ruby,javascriptなどの動的言語による開発には同意
0337デフォルトの名無しさん2012/02/29(水) 00:32:30.77
>>327

luaでswitch文っぽく書いてみる

function switch(st)
local i
for i = 1, #st, 2 do
if st[i] then return (st[i + 1])() end
end
end

function f(v)
switch {
(v == 1),
function () print(1) end,
(v == 2),
function () print(2) end,
(v == 3),
function () print(3) end,
(v == 4),
function () print(4) end,
true,
function () print "default" end,
}
end

for i = 0, 5, 1 do f(i) end
0338デフォルトの名無しさん2012/02/29(水) 00:38:55.20
ついでに continue 文の動作は
ループ中に無名関数を置いてそこからのreturnだねん

for i = 0, 10, 1 do
  (function (v)
   if ((v % 2) ~= 0) then return end
   print(v)
  end)(i)
end
0339デフォルトの名無しさん2012/02/29(水) 08:10:32.06
配列に無名関数入れてテーブル化できないのか
0340デフォルトの名無しさん2012/02/29(水) 08:36:42.86
配列に無名関数入れたらテーブルでしょ
0341デフォルトの名無しさん2012/02/29(水) 09:38:36.46
         \   l´⌒\⌒\ \\ \
           \ ヽ   )  )   \\ \\   
              (   \ \∩___∩ \\ 
           \   \  ⌒⌒| ノ      ヽ  \\      
              \ \   /  ●   ● ト、\ \\\ 
               \  Y |    ( _●_)  ミ\  \\\  
               \ / 彡、_  |∪| ノ   \  \\\
                 (____)―ヽノ' ヽ      ̄ ̄ ヽ\\
                                \,  j  l l .l }
                         Lua!   l (_ノノノノ

0342デフォルトの名無しさん2012/02/29(水) 17:21:08.07
luabindってLuaからC++に数値型オブジェクトを渡してC++で中身を変更するのも無理だし
戻り値を複数定義することも出来無いの?
調べてもぜんぜんそれらしい情報が出てこない
0343デフォルトの名無しさん2012/02/29(水) 22:59:06.57
なにがしたいの?
03443422012/02/29(水) 23:43:44.33
結局luabindだけじゃ出来ないのでluaのベース機能と混在させたら出来た
今度は別の問題で悩んでるんだけど
luaが持ってるuserdataタイプをluabindで受け取って中身をポインタにする方法が分からない
中身がポインタなのは分かってるんだけど、object_castしても失敗する
0345デフォルトの名無しさん2012/03/01(木) 00:23:32.41
luabind::touserdata

で、なにがしたかったの?
戻り値を複数定義する
って意味不明なんだけど。
03463422012/03/01(木) 00:37:51.27
>>345
見つけたけどなんかうまくいかない

戻り値は例えば
ret1, ret2 = func(inp1, inp2)
みたいなlua関数をluabind経由で定義できないって話
0347デフォルトの名無しさん2012/03/01(木) 01:15:58.61
ごめんちょっと何言ってんだかわかんない
0348デフォルトの名無しさん2012/03/01(木) 01:39:23.31
luabindで定義すると
スタックに二つ積んでリターンすることが不可能
になると書いてるんだと思う
0349デフォルトの名無しさん2012/03/01(木) 02:38:19.57
具体例出せない?
0350デフォルトの名無しさん2012/03/01(木) 11:59:05.12
C++は見た目以外はCと同じなのに
もっと見せないと意味がないな
0351 忍法帖【Lv=28,xxxPT】 2012/03/04(日) 12:54:51.99
lamda
0352デフォルトの名無しさん2012/03/06(火) 13:04:57.00
Why Lua
http://blog.datamules.com/blog/2012/01/30/why-lua/
0353デフォルトの名無しさん2012/03/10(土) 17:16:40.28
「Squirrelゲームプログラミング」って本がでてるけれど読んだ人いますか?
0354デフォルトの名無しさん2012/03/10(土) 22:07:05.16
amazonで目次と中身少し見れる
ググって足りない部分はexampleとヘッダ少々見れば出てくる程度の事しか書いてない
windowsでsjisでvsのeeでdxライブラリで…溜息が出るような内容
このスレ見てたらまず要らないだろー

03553422012/03/10(土) 22:10:21.11
ゲーム用の組み込みスクリプトでゲームを作るって発想はどうなんだろうね
0356デフォルトの名無しさん2012/03/10(土) 22:12:15.70
ゲーム用のものでゲームを作るのはそれはあたりまえでは?
0357デフォルトの名無しさん2012/03/10(土) 22:47:24.33
目次を眺めて読みたくなったのは
デバッグへの備え
その他のテクニック
この2ヶ所だけ。
GoogleBooksで該当箇所を読んでみたけど
得るものはなかったっす。
0358デフォルトの名無しさん2012/03/11(日) 08:39:37.93
  効いてる効いてる効いてる   効いてる効いてる     効いてる効いてる効いてる 
           効いてる                                効いてる
        効いてる     効いてる効いてる効いてる            効いてる
      効いてる             効いてる                効いてる
   効いてる 効いてる         効いてる          効いてる 効いてる
  効いてる   効いてる       効いてる           効いてる
 効いてる     効いてる      効いてる             効いてる

  効いてる効いてる効いてる   効いてる効いてる     効いてる効いてる効いてる 
           効いてる                                効いてる
        効いてる     効いてる効いてる効いてる            効いてる
      効いてる             効いてる                効いてる
   効いてる 効いてる         効いてる          効いてる 効いてる
  効いてる   効いてる       効いてる           効いてる
 効いてる     効いてる      効いてる             効いてる

0359デフォルトの名無しさん2012/03/11(日) 12:59:32.81
>>354
それは残念です。買わないことにします…
0360デフォルトの名無しさん2012/03/11(日) 23:32:14.60
しかしLuaはあまりにも情報が少なすぎるな
0361デフォルトの名無しさん2012/03/11(日) 23:38:38.57
Luaはまだ日本語の情報は多いよ。
0362デフォルトの名無しさん2012/03/12(月) 01:01:43.85
>>353
立ち読んだ感じ、初心者なら読んでみるのも悪く内容だとは思ったけどなSquirrel
の本。
スクリプトとC言語側とのデータのやり取りなんかは結構詳しく書いてあったし、リロードについても触れてるっぽいし。
テーブルやクラスのやり取りまで具体的に書いてあるのは、初心者には便利なんじゃない?

まあ、このスレに常駐してるようなベテランには不要なんだろうけどね。

それにしても、Lua以外でスクリプト本なんか出しても売れないだろうによく売る気になったな(笑
0363デフォルトの名無しさん2012/03/12(月) 01:10:28.18
>>361
組み込みスクリプトの中ではね
perlみたいなメジャースクリプトと比べたらもう
0364デフォルトの名無しさん2012/03/12(月) 07:43:15.96
perlをCに組み込むやつなどいないよ
0365デフォルトの名無しさん2012/03/12(月) 21:59:15.97
Luaは、SquirrelやAngelScript、GameMonkeyとかに比べたらものすごく多い日本語資料の量だと思うけどな。
0366デフォルトの名無しさん2012/03/12(月) 22:19:02.56
リファレンスマニュアルが日本語化されてる時点で許容範囲内だよね
0367デフォルトの名無しさん2012/03/13(火) 23:06:55.69
luaはjavascriptに似ているから簡単だと思うか
そもそもjavascriptはjavaに似ていないから難しいと思うかの違い
0368デフォルトの名無しさん2012/03/14(水) 05:40:35.30
Luaは色々なアプリケーションを制御する簡素なスクリプト言語として
プログラミング言語の使用者数の中でもNo1の言語になっておかしくないくらいの
コンセプトを持ってる言語のはずなんだがどこでどう間違ったんだ
0369デフォルトの名無しさん2012/03/14(水) 05:59:38.45
368こそどこでどう間違ったんだ
何が言いたいのか伝わらんぜよ
03703682012/03/14(水) 06:10:00.66
つまりプログラミングにさほど興味ない人でも
様々なアプリケーションでLuaが使えるなら
TIOBEとかで20位前後をウロウロしてるような言語じゃないのに
実際にはそこまでアプリケーションでも使われていないから
Luaのコンセプトは良さそうに見えるけど文法か何かに欠陥が
あるのかな?ということです
0371デフォルトの名無しさん2012/03/14(水) 06:53:11.70
>>370
>Luaのコンセプト
どんなイメージ?
自分の言葉で語ってみて欲しい
誤解してると思う
0372デフォルトの名無しさん2012/03/14(水) 07:40:48.57
>>370
またおまえか
0373デフォルトの名無しさん2012/03/14(水) 10:55:31.05
なぜか「プログラミングにさほど興味ない人」が登場するのは
母集団をいじれば統計を支配できるというコンセプトなんだよな
0374デフォルトの名無しさん2012/03/14(水) 12:25:10.34
         ,,-―--、
        |:::::::::::::;;;ノ  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
        |::::::::::( 」 <  実際にはそこまでアプリケーションでも使われていないからLuaのコンセプトは良さそうに見えるけど文法か何かに欠陥がある
        ノノノ ヽ_l   \______________
       ,,-┴―┴- 、    ∩_
     /,|┌-[]─┐| \  (  ノ
      / ヽ| |  バ  | '、/\ / /
     / `./| |  カ  |  |\   /
     \ ヽ| lゝ    |  |  \__/
     \ |  ̄ ̄ ̄   |
      ⊂|______|
       |l_l i l_l |
       |   ┬    |
03753682012/03/14(水) 13:34:24.86
Luaは開発者がC/C++等と組み合わせて使う目的があるのと同様に
上記のようにプログラミングにさほど興味ない人でも様々なアプリケーションで
簡単なスクリプト言語として使うという目的もあるはずなんですよね。

Lua開発者の一人のRobertoも
「Luaには、プロ以外のプログラマにとっても簡単に使えるという
目的がありました。『言語設計者たちが考えること』」
って言っていますし。
0376デフォルトの名無しさん2012/03/14(水) 13:38:00.26
LuaってUnicode使えないんでしょ?
0377デフォルトの名無しさん2012/03/14(水) 14:27:50.73
>>375
目的が二個あるなら言語も二個作ればいいよ
ランキングも二種類でいい
それを一つにしようとすれば、どこかで必ず間違う
0378デフォルトの名無しさん2012/03/14(水) 14:52:12.96
>>375
そもそもスクリプトが必要なアプリが少ないところで
Lua使ってる人少ない→Luaは欠陥言語
という理論まくし立てられてもただのLuaの悪口にしか聞こえないよ。
君の理論で言うとSquirrelやAngelScript、GameMonkeyは
さらに目も当てられないほどの欠陥言語ということになる。
0379デフォルトの名無しさん2012/03/14(水) 17:52:37.91
>>375
「プロ以外のプログラマ」とは「プログラミングにさほど興味ない人」であると
「Lua開発者の一人のRoberto」が言っているのか?
0380デフォルトの名無しさん2012/03/14(水) 17:58:49.77
Luaはユニコード扱えないから、
Windowsのパス名の処理さえ不完全で、
ほんとスタンドアローンのファイル処理などには不向き。

ただ、そのぐらい割り切ったシステムというのは
それはそれで大きな利点なんだけど
そのわりにコミニティが過疎っているのは
世間一般の理解が足りないというべきかな。
0381デフォルトの名無しさん2012/03/14(水) 18:10:19.75
導入しただけで色々できて便利!みたいなものじゃないからでしょ
なんらかの接続部は自分で作らないといけないから誰彼にでも勧めるものじゃないきがする
0382デフォルトの名無しさん2012/03/14(水) 18:15:38.24
begin / end な言語は永遠にメジャー化はムリ。まじでまじで。
0383デフォルトの名無しさん2012/03/14(水) 19:24:09.00
ビギネンド言語ディスってんのか
0384デフォルトの名無しさん2012/03/14(水) 19:38:54.72
インデント構文よりは好きだな

>>380
> Luaはユニコード扱えないから、
utf8などは使えるよ
> Windowsのパス名の処理さえ不完全で、
どんな点だろ?
sjisの事ならパッチを当てて
パス文字列の操作ならpenlightなどを使うことで対処出来ると思う
> ほんとスタンドアローンのファイル処理などには不向き。
そりゃそうだろねぇ
0385デフォルトの名無しさん2012/03/14(水) 19:41:47.31
>>382
まだいたのか?
0386デフォルトの名無しさん2012/03/14(水) 19:48:43.01
>どんな点だろ?

世間では意外とシフトJISの範囲外の文字が使われてる。
「・」にもシフトJIS範囲外のやつがあったりして、
メールで送られてくる添付ファイルなどがそうだったりする。
0387デフォルトの名無しさん2012/03/14(水) 20:39:36.96
ファイル名にSJIS範囲外の文字が使われていたらfopenで開けないってことか
対応自体はさほど難しくないけど
需要ないから誰もやらなそうだね
0388デフォルトの名無しさん2012/03/14(水) 21:47:21.87
そもそも組み込みスクリプト言語でfopenとか使ってファイル処理する必要はあるんだろうか。
その辺はアプリ側に投げるようにした方が楽な気がするけど。
0389デフォルトの名無しさん2012/03/15(木) 03:45:56.16
ビギネンド言語っていうのかw
0390デフォルトの名無しさん2012/03/15(木) 04:26:38.35
>>388
exelとかにVBSのような用途でLua組み込む場合とかならLua側から
ファイル操作したい場合もあるんでないの。
0391デフォルトの名無しさん2012/03/15(木) 04:49:40.33
ないよ
0392デフォルトの名無しさん2012/03/15(木) 10:00:43.97
!=を~=にしたりとか、コロンとセミコロンと2種類のアクセス方法があったりとか
まったく目的も意味もわからない言語仕様盛りだくさんなんだよな
絶対他の言語と違う特徴にしようとかって理由だけでやったんだろうけど
一般化されてる!=くらいそのままでいいだろ
0393デフォルトの名無しさん2012/03/15(木) 11:21:25.25
~=表現については同意するが、コロン、セミコロンを含めて意味不明な機能などなく、ミニマルに纏まって機能提供されていると感じるがな。
0394デフォルトの名無しさん2012/03/15(木) 15:20:40.72
一般的には、レガシーなクラスと匿名クラスの2種類がある
これを1種類にするとJavaScriptかLuaのようになってしまう
0395デフォルトの名無しさん2012/03/15(木) 15:43:00.49
!=も~=もおかしい。社会通念はVBの<>
0396デフォルトの名無しさん2012/03/15(木) 15:44:52.64
==もおかしい。社会通念はPascalの=。










こんなの言い合っても意味ねー
0397デフォルトの名無しさん2012/03/15(木) 15:47:42.77
≠ に似ている =/= にしようぜ
0398デフォルトの名無しさん2012/03/15(木) 15:50:33.01
>>392
またおまえか
0399デフォルトの名無しさん2012/03/15(木) 16:15:32.01
日本語ってまったく目的も意味もわからない言語仕様盛りだくさんなんだよな
0400デフォルトの名無しさん2012/03/15(木) 16:59:37.40
AngelScriptだっけC++に似せてるやつ
0401デフォルトの名無しさん2012/03/15(木) 21:59:25.63
>>390
例えばCSV形式のファイルを読み込む場合、アプリ側からCSVクラスをスクリプトに登録しておいて、

CSV _csv;
_csv.load("〜");

みたいな感じで、読み込みクラスのメソッドを呼び出した方が楽かなと。
0402デフォルトの名無しさん2012/03/16(金) 06:02:39.48
> CSV _csv;
> _csv.load("〜");
構文からしてLuaではなくC++だよね?

class CSV {
public:
T load(T) {...}
};
というクラスをLuaに公開しつつ
C++側で
CSV _csv;
_csv.load("〜");
とするの?
loadの実装が気になるw
0403デフォルトの名無しさん2012/03/16(金) 07:45:38.72
いてもたっても居られずsquirrelを作った作者の気持ちが痛いほど分かる
0404デフォルトの名無しさん2012/03/16(金) 07:56:37.57
そう思うなら布教なりお布施なりしろよ。
このままじゃ死滅するだろ
0405デフォルトの名無しさん2012/03/16(金) 08:06:43.56
分かるからってsquirrelがいいとも思わないからな
一番いいのは周知の既存言語の組み込み版だよな
JavaとかC#とかの基本構文を真似たものが欲しいな
0406デフォルトの名無しさん2012/03/16(金) 09:22:57.41
プログラマ目線の組み込み型なら別にスクリプトである必要なしともなりかねないからね
ユーザ目線ならLuaがちょうどいい
0407デフォルトの名無しさん2012/03/16(金) 12:25:36.97
DllImportは欲しいな
DllImportは基本構文の中でも最強・・・
0408デフォルトの名無しさん2012/03/16(金) 12:50:18.34
ぐぐる先生の dart はどうなん?
0409デフォルトの名無しさん2012/03/16(金) 21:23:45.12
>>402
文法はとりあえずC++で書いた。
なので、スクリプト側で、

CSV _csv; 
_csv.load("〜"); 

を実行する。
0410デフォルトの名無しさん2012/03/16(金) 21:58:20.31
>>407
LuaJITのFFIでもどうぞ
0411デフォルトの名無しさん2012/03/17(土) 10:25:31.08
LuaJITのSJIS対応版ってあるんですか?
0412デフォルトの名無しさん2012/03/17(土) 10:42:23.77
LuaJITだろうがsjisソースコード中の文字リテラルに対応するだけなら
lex.cに5行くらい追加で終わるでしょ
0413デフォルトの名無しさん2012/03/17(土) 12:51:48.66
具体的に何をSJIS対応にしたいの?
0414デフォルトの名無しさん2012/03/17(土) 13:28:30.33
いいこと思いついた
すべての半角文字をエスケープすればすべての文字が16ビットになる
0415デフォルトの名無しさん2012/03/19(月) 21:47:34.23
>>414
プリプロセッサの出番か。
0416デフォルトの名無しさん2012/03/25(日) 04:12:57.66
Luaの様々なバインダを見て標準でバインダ付いてるAngelScriptは偉いと思った(小学生並みの感想)
しかし今から実装しようと思うならLuaかねぇ。バインダみんな何使ってる?それとも自作とかか
tolua++の最終更新が2009でtoluaの最終更新が2012に見えるんだがググるとtolua++の情報が多いな
0417デフォルトの名無しさん2012/03/25(日) 06:08:48.71
luabind,SWIG,バインダなしのどれかだな
toluaは中途半端で好きじゃない
0418デフォルトの名無しさん2012/03/25(日) 09:44:33.41
慣れるとバインダなしが一番になるよ
0419デフォルトの名無しさん2012/03/25(日) 09:58:28.60
Luaには型もないし継承もないからバインダもいらない
0420デフォルトの名無しさん2012/03/25(日) 10:57:26.17
型を強くすると、未知の言語に対応できなくなるデメリットがある
0421デフォルトの名無しさん2012/03/25(日) 11:03:45.62
アセンブラと同じでスタック(PUSH&POP)で何でもできる
0422デフォルトの名無しさん2012/03/25(日) 15:46:34.44
>>420
どゆこと?
具体的な説明頼む。
04234162012/03/25(日) 19:00:03.00
おーバインダなしかー。仕組み知るためにもとりあえず無しでいってみるか。ありがとう。
0424デフォルトの名無しさん2012/03/25(日) 22:39:14.34
関数定義があいまいなせいでコンパイルエラーがほとんど出ないで実行時に例外落ちする悲惨さ
0425デフォルトの名無しさん2012/03/25(日) 22:50:34.67
>>422
例えば、未知の言語で、継承ができなくなるリスクは大きい
委譲できなくなるリスクは小さい
リスクを小さくするには、(抽象的だが)「型」を避ければいいと思う
0426デフォルトの名無しさん2012/03/26(月) 07:11:24.11
>>425
具体例出せない?
現実的に、静的タイピングで継承有りな言語もSWIGはサポートしてるし
boostライクなテンプレートに落とし込めない理由が浮かばないんだけど。
0427デフォルトの名無しさん2012/03/27(火) 01:18:37.69
>>426
できない人の気持ちが浮かばないということは、その人をサポートできてない
サポートは諦めて単純に自力でやる方法をすすめるのが無難
0428デフォルトの名無しさん2012/03/27(火) 07:44:08.12
テンプレートの何がいいのかわからないな
難読化させるためにやってるのか
0429デフォルトの名無しさん2012/03/27(火) 10:54:33.44
具体的に頼む。
禅問答じゃないんだし。
0430デフォルトの名無しさん2012/03/27(火) 11:00:10.02
型を強くすると、未知の言語に対応できなくなるデメリットがある
俺はそう考える。

テンプレートの何がいいのかわからないな
難読化させるためにやってるのか
俺はそう考える。
0431デフォルトの名無しさん2012/03/27(火) 12:36:06.80
コメントの類はコードをかえって難読化することもある。
コメントは具体的なコードではないので禅問答に近い。
クラスとテンプレートはコメントではないがコメントに近いので難読化することもある。
0432デフォルトの名無しさん2012/03/28(水) 00:20:33.61
人間とウェブの未来 - Apache 2.4.1のmod_luaでApacheに介入する(mod_rewriteの終焉?) http://t.co/lILfEo3S
0433営利利用に関するLR審議中@詳細は自治スレへ2012/04/05(木) 13:46:26.69
スクリプト言語“Lua”の統合開発環境「Lua Development Tools」
http://www.forest.impress.co.jp/docs/review/20120405_523853.html
0434営利利用に関するLR審議中@詳細は自治スレへ2012/04/06(金) 03:26:00.93
なんでOpenOfficeでPythonマクロがあってLuaが無いんだろう
ああいうものこそLuaの真骨頂じゃないのかね
0435営利利用に関するLR審議中@詳細は自治スレへ2012/04/06(金) 03:35:19.84
足せばいいんじゃ
0436営利利用に関するLR審議中@詳細は自治スレへ2012/04/06(金) 07:39:38.00
pythonはコンパイル型だから早い
0437営利利用に関するLR審議中@詳細は自治スレへ2012/04/06(金) 15:26:04.64
LuaJITに実行速度負けてるけどな
0438営利利用に関するLR審議中@詳細は自治スレへ2012/04/06(金) 15:28:48.50
>>436
何が言いたいのかよく分からんので
ちょろっと検証してみた

-- lua code
t={1,2,3,...,100000}
# python code
t=[1,2,3,...,100000]

$ time lua l514.lua
real 0m0.049s
$ time lua l514.luac
real 0m0.022s
$ time python2.6 p26.py
real 0m0.339s
$ time python2.6 p26.pyc
real 0m0.036s
$ time python3.1 p31.py
real 0m0.371s
$ time python3.1 p31.pyc
real 0m0.047s
$ time src/luajit lj2.lua
real 0m0.019s
$ time src/luajit lj2.luac
real 0m0.008s

結論としては
pythonが速いというよりも、当社比としてpyよりpycという苦肉の策じゃないかな。

ちなみに、Luaのrequireでも
LUA_PATHやpackage.pathに*.luacを追加すれば普通に読めるよ
0439営利利用に関するLR審議中@詳細は自治スレへ2012/04/06(金) 18:26:17.52
そんな問題じゃねー
OpenOfficeとの膨大な連携関数軍を言語サイドに公開するコストが
Physonの方が圧倒的に小さい
0440営利利用に関するLR審議中@詳細は自治スレへ2012/04/06(金) 20:06:11.54
>>439
ちょっと理解できない
そもそもpythonのJava実装でそんなのあったっけ?
Javaは他言語含めてどれもいまいちな印象しかないのだが。
0441営利利用に関するLR審議中@詳細は自治スレへ2012/04/06(金) 23:28:09.86
Office関連はうといのでパッと見の感想だが、Luaほどの速度は必要なくライブラリ豊富なPythonを取ったということかな
上の見る限りpycなら十分だろう
てかLibreOfficeもPython使ってるのかな。しっかり見てないが
0442営利利用に関するLR審議中@詳細は自治スレへ2012/04/07(土) 07:57:14.44
Luaの真の力を知ればそのうち神が対応してくれるだろ
0443営利利用に関するLR審議中@詳細は自治スレへ2012/04/07(土) 08:11:24.50
Jython
0444営利利用に関するLR審議中@詳細は自治スレへ2012/04/08(日) 01:57:24.30
LuaよりPythonの方が記述しやすくない?
0445営利利用に関するLR審議中@詳細は自治スレへ2012/04/08(日) 12:28:01.14
今の議論には関係ないんだけど、Pythonインタプリタのインスタンスって
1つしか持てないの?
LuaとかはCからインタプリタ内部にアクセス出来るけど、PythonはPythonで
記述できる内容をCでも記述できるという感じに見える。これも合ってる?
0446営利利用に関するLR審議中@詳細は自治スレへ2012/04/08(日) 14:08:52.77
>>441
OOo Basic,Python,Java,JavaScript
知名度で選んだだけじゃね?
組み込みコストは似たりよったりだろうし。
0447営利利用に関するLR審議中@詳細は自治スレへ2012/04/08(日) 14:10:47.03
>>445
だね
日本語で
0448営利利用に関するLR審議中@詳細は自治スレへ2012/04/08(日) 14:34:51.26
>>445
前者はその通り。今の python は multi vm は配慮されてない

後者はちょと意味がとりにくいけど、Cアプリへの python インタプリタ組み込みは可能で、
C側からコードを読み込ませたり値を入れ込んだりはできる。ただ cpython はCの
コールスタックに依存する構造で、一度よんだら python 側の処理がおわるまで帰ってこない

Cのコールスタックに依存せず、途中で止めたりするような制御が必要なら、
stackless python か PyPy という実装なら、コルーチン機構があるので、
疑似的にインスタンスを複数もってるのと同じようなことができる
ゲームの類にうめこまれてるのはたいてい素の python でなくて stackless python です
0449営利利用に関するLR審議中@詳細は自治スレへ2012/04/08(日) 20:29:03.12
>>447, 448
回答ありがとう。
後段の件は自分の中でも整理できてないな。手間を取らせて申し訳無い。

具体的な用途は決まって無くて何が出来るか調べていたので、
感覚的な話になってしまいました。Tclは使ったことがあって、
LuaはTclと似た感じで使えるけど、Pythonはどうも毛色が違うなあと
感じていました。
0450デフォルトの名無しさん2012/04/16(月) 01:22:26.86
Luaの文法がCと違うのは混乱しないために良いのかもしれないけど
どうせならifとかforとかCの予約語とも重複しないで欲しかったな
0451デフォルトの名無しさん2012/04/16(月) 01:47:42.83
配列が1から始まることを忘れちゃってつい0番に値を入れちゃう
動くから気づかないし
0452デフォルトの名無しさん2012/04/16(月) 07:47:23.79
欲しいなら
作るとよいよ
オナニー言語
0453デフォルトの名無しさん2012/04/17(火) 22:37:42.93
0番に入れるのは間違いとは限らないし
-1から始まる可能性も忘れてはいけない

local i = -1
local t = {[0] = "zeroth", "first", "second"}
local function f() i = i+1; return t[i] end
for x in f do print(x) end
0454デフォルトの名無しさん2012/04/18(水) 18:18:02.76
ぅあTシャツ
http://www.fibers.com/shop/design/lua-logo.D52236
0455デフォルトの名無しさん2012/04/18(水) 22:43:48.98
冗談かと思ったらあるのかよw
しかも種類が多いな
0456デフォルトの名無しさん2012/04/19(木) 18:52:30.20
これの収益がメンテナーに還元されるんだっけ?
0457デフォルトの名無しさん2012/04/20(金) 00:41:59.02
>>454
欲しいけど、英語がわからないのと申し込む方法がわからないんだけど
0458デフォルトの名無しさん2012/04/20(金) 00:57:10.25
just choose then buy then checkout then confirm then wait then wear
0459デフォルトの名無しさん2012/04/20(金) 08:16:19.57
if/forの代替になるキーワードって何があるのさ
俺は全く思いつかん
こいつらはCの予約語どうのって以前に殆どの言語で共通のキーワードなんだから
変えたら混乱以前に誰も使う気しなくなるだろ
0460デフォルトの名無しさん2012/04/20(金) 08:36:24.47
英語が分からんから記号的にしか捉えられないのだろう。
すなわち if 〜 then でなく if () { のがいいというC脳の発想。そこにユーザーへの愛はない。
0461デフォルトの名無しさん2012/04/20(金) 23:56:05.31
 Windowsアプリにtolua++を使ってLuaを組み込んで、スクリプト動作をさせようと目論んでいます。
コンソールアプリに組み込む事は成功したのですが、ダイアログアプリからスクリプトを呼び出し、
スクリプトからCの関数を呼び出すところで上手くいかずに悩んでいます。

処理としては単純に指定の文字列のメッセージボックスを表示させるもので、
void MessageBox(LPCTSTR lpszMessage){
 ::MessageBox(NULL, lpszMessage, NULL, 0);
}
こういう関数を用意してLua側から呼び出す、というものです。
 グルーコードの作成、ビルド等は上手くいくのですが、「MessageBox("あいうえお")」のように
スクリプトを書いたところ、
error : test.lua:5: error in function 'MessageBox'.
argument #1 is 'string'; 'LPCTSTR' expected.
と言うエラーがデバッグウインドウに表示されると言う状態になっています。
「LPCTSTR」を「char *」におきかえて、関数内でUNICODE変換すると上手くいくのは分かったのですが、
このやり方が正しいのか自信がありません。

このような状態について、どのように対処すればよいのでしょうか?
0462デフォルトの名無しさん2012/04/21(土) 01:27:33.69
>>460
英語でif〜thenなんて文法は存在しない
0463デフォルトの名無しさん2012/04/21(土) 08:53:28.79
>>462
そんなこと誰も問題にしてないぞ。どうした?
0464デフォルトの名無しさん2012/04/21(土) 09:07:45.32
>>461
他のOSに移植すると自信を持てる
けどMessageBoxを直接呼び出すようなグルーコードは使わない。
巨大なフレームワークと直結するようなグルーコードを使うと自信がなくなる。
0465デフォルトの名無しさん2012/04/21(土) 10:34:22.31
>>462
FORTRANの創始者ジョン・バッカスをバカにしてんのか?
0466デフォルトの名無しさん2012/04/21(土) 10:42:31.67
if と then はそれぞれ独立して使うもので同時に使うことは英語の文法上ないんだよ
if 〜 then なんて用法はプログラム的文法にすぎない
日本語に例えてみると
「もし」「じゃあ」みたいなもんだ
「もし」フラグが立ったら「じゃあ」実行しよう
ほらおかしいだろ?
0467デフォルトの名無しさん2012/04/21(土) 11:51:40.64
>>466
If you want a friend then get out of here
0468デフォルトの名無しさん2012/04/21(土) 12:06:23.90
「If you don't think you can do it, then you can't.」とか普通にあるな。

0469デフォルトの名無しさん2012/04/21(土) 13:54:06.23
>>466
英語わかんないのに何でこんなに自信たっぷりなの?
0470デフォルトの名無しさん2012/04/21(土) 13:59:33.76
>>467
ないない
通じない

>>468
ないない
通じない

受験英語覚えて英語覚えた気になってる馬鹿だな
0471デフォルトの名無しさん2012/04/21(土) 15:05:32.33
英語の文法で正しいかどうかなんて関係ない
他のプログラミング言語で事実if 〜 then ... という文法が
広く採用されているってのがポイント
分岐はプログラムの論理構造の根幹なんだから
そこにオリジナリティを持つだけ無駄だろ

お前が英語に詳しいのはわかったから
それを正しい方向へ生かす努力をしろ
0472デフォルトの名無しさん2012/04/21(土) 16:06:21.59
>>466
どこがおかしいかまったくわからんのだが。
曲解して無理やりおかしくしてるだけでは。
「それぞれ独立して使うもの」ではあるが「同時に使ってはならないもの」ではないのだろう?
そもそも「Luaは英語文法に沿って設計されてます」なんて誰も言ってないぜ?
仮に文法どおりの究極的な言語できたとしても遅くて実用に耐えないだろうよ
0473デフォルトの名無しさん2012/04/21(土) 16:21:32.31
then よりもまず for が英語的には意味不明だな

もともとは while / until / repeat などのキーワードを含む、ALGOL の繰り返し文の
パラメータ指定用のキーワードだったんだけど、後の言語では繰り返しを意味する
単語は姿を消して for だけが回数指定繰り返しのキーワードとして残り、
最終的には foreach というさらに謎の単語が派生して今に至る
0474デフォルトの名無しさん2012/04/21(土) 17:57:16.34
もし A=0 そのとき 書け("0になりました") そのほか 書け("まだです")

何にもおかしくないじゃん
0475デフォルトの名無しさん2012/04/21(土) 18:01:18.89
スクリプト言語“Lua”で拡張可能。Unixライクなコマンドラインシェル「NYAOS」
ttp://www.forest.impress.co.jp/docs/review/20120420_527691.html
0476デフォルトの名無しさん2012/04/22(日) 08:05:42.46
すごいなーこれも受験英語なのかー
If a city has a 30% Negro population, then it is logical to assume
that Negroes should have at least 30% of the jobs in any particular
company, and jobs in all categories rather than only in menial areas.
(Martin Luther King, Jr.)

問題にするなら else のほうだろうに。




0477デフォルトの名無しさん2012/04/22(日) 09:49:18.16
そもそも言語に正しいも糞もないからな。
国が何が正しいかを決めてるわけでもなく、
自称言語学者が自説を述べてるだけだから。
0478デフォルトの名無しさん2012/04/22(日) 10:16:13.66
みんなが欲しがっているのは正しい言語じゃなくて小さい言語
正しさの定義が何であろうと、正しくない部分を切り捨てて小さくなりさえすればいい
逆に大きくしたいなら、正しいも何も関係なくすべて取り入れるはず
0479デフォルトの名無しさん2012/04/22(日) 11:37:01.20
言語など相手に通じさえすればいい。
翻って、どんなクソ文法でもコンパイラ様が言葉認定してくれればオールオッケーなのだ。
0480デフォルトの名無しさん2012/04/22(日) 12:47:57.48
おや、Xtalが息を吹き返したようだ
0481デフォルトの名無しさん2012/04/22(日) 13:00:47.53
>>461
void MessageBox(const char* lpszMessage){
 ::MessageBoxA(NULL, lpszMessage, NULL, 0);
}
とか?
(未テスト)

ダイアログボックスつかってるなら、それのウィンドウハンドルをどここかに保存しといて、
MessageBoxに渡した方がいいんではないか?
0482デフォルトの名無しさん2012/04/22(日) 13:02:41.85
>>476
あほだな
それは
If a city has a 30% Negro population, then it is logical to assume
が1つの文章じゃなくて
○○ If a city has a 30% Negro population,
then it is logical to assume
で分離してるんだよな
それにそれちょっと変な言い回しだな
演説用の思わせぶりな言い方ッて感じ
決して日常会話では使わない
0483デフォルトの名無しさん2012/04/22(日) 14:40:02.68
その日常会話自体がどんどん変化するからね。
おっさんが若者言葉を知らないだけという可能性も高い
0484デフォルトの名無しさん2012/04/22(日) 15:02:23.22
>>482
> で分離してるんだよな
してない。

> それにそれちょっと変な言い回しだな
> 演説用の思わせぶりな言い方ッて感じ
そうですねー(あなたの中では)
> 決して日常会話では使わない
そうですねー(あなたの日常では)
0485デフォルトの名無しさん2012/04/22(日) 15:10:16.31
普通日常会話ではthenは文末に使うもんだからね
特に若者会話ではw
if ** then go
じゃなく
if you say **, go then
って感じ
0486デフォルトの名無しさん2012/04/22(日) 16:29:02.33
まあ2chの自称言語学者とFORTRAN設計者のアメリカ人の
どちらを信用するかというだけのハナシだわな
0487デフォルトの名無しさん2012/04/22(日) 20:42:38.80
>特に若者会話では

てことは、日本の若者会話を慮るに
英語の文法上正しくない根拠にはならないわけだね
0488デフォルトの名無しさん2012/04/22(日) 20:57:12.28
末尾に草を生やした時点でお前の負け
読む価値が無い
0489デフォルトの名無しさん2012/04/22(日) 21:21:58.46
英語でif〜thenなんて文法は存在しない

使われない

日常会話では使われない

若者の日常会話では使われない ← いまここ

俺は使わない
0490デフォルトの名無しさん2012/04/22(日) 21:34:14.74
>>489
最初の使われないから何もかわってないよ
if〜thenという形の熟語は存在しない
if, thenで分離してるのが普通
その証拠としてthenは文末にくるのが一般的だと言ってる
何故なら独立した2つの分だからthenの位置はifに依存しない
0491デフォルトの名無しさん2012/04/22(日) 21:53:18.94
プログラミング言語の if then を熟語だって誰か言ったの? else のこと考えてもあきらかに分離してるわけで問題ないじゃん
0492デフォルトの名無しさん2012/04/22(日) 22:47:34.55
>>490
結局、何が不満なの?

英語と文法が違うから?
それとも"if","then"という単語のチョイス?
0493デフォルトの名無しさん2012/04/23(月) 07:36:46.13
if 〜 then 〜 else はもはや世界の共通語。
英語の文法がどうとかそういう問題ではない。
英語の文法君は明らかに外してる
0494デフォルトの名無しさん2012/04/23(月) 17:28:22.89
ifがいやならsnobol使えばいんじゃね?
0495デフォルトの名無しさん2012/04/24(火) 00:54:50.87
なんかのスクリプトにeven if構文ってあったよね
0496デフォルトの名無しさん2012/04/24(火) 01:10:56.17
Nyarukoで手を打とう
ttps://github.com/masarakki/nyaruko_lang
0497デフォルトの名無しさん2012/04/24(火) 01:44:46.01
ステマに踊らされてるのか
0498デフォルトの名無しさん2012/04/24(火) 07:45:40.60
>>496がBrain*uckで実用プログラムを作ると聞いて飛んできました
0499デフォルトの名無しさん2012/04/24(火) 12:35:25.55
>>496
長くなってくるとSAN値がごりごり削れていくぞ
0500デフォルトの名無しさん2012/04/28(土) 17:44:23.10
VSと連携できるluaデバッガ教えてくだしあ
0501デフォルトの名無しさん2012/05/01(火) 12:36:24.08
IntelliJ
0502デフォルトの名無しさん2012/05/01(火) 21:24:17.07
AngelScript2.23.1記念カキコ
0503デフォルトの名無しさん2012/05/02(水) 14:34:23.92
プログラミング言語と英語を直接結びつけるのは違和感ありまくり
プログラミング言語は英語圏の人間が全員理解できるわけでもない無理矢理英語っぽくしてあるだけのシロモノなのに
なんで日本人が必死こいて英語じゃああだこうだ言って勝手に盛り上がってんの
AppleScriptでも使ってろばかー
0504デフォルトの名無しさん2012/05/03(木) 00:02:36.73
こぼる
0505デフォルトの名無しさん2012/05/03(木) 00:23:55.87
ひまわり
0506デフォルトの名無しさん2012/05/03(木) 12:42:41.53
特定の文化圏に依存する文字を使ってるからそんな議論が生じる

ほわいとすぺーす
0507デフォルトの名無しさん2012/05/03(木) 14:23:53.25
そういえば、外来語としてそのまま使える名詞とか動詞は文化圏に依存しないね
形容詞は微妙
それ以外は駄目っぽい
0508デフォルトの名無しさん2012/05/05(土) 01:18:19.17
ちょっと見逃してたが

軽量rubyソースコード公開
ttp://el.jibun.atmarkit.co.jp/rails/2012/04/rubymruby-2004.html
0509デフォルトの名無しさん2012/05/05(土) 02:35:48.44
公開時点だと組み込みに適したような口が全然はえてなかったけど、その後なんか追加実装されたりしてる? > mruby
fopen とかしょんぼりだぜ
0510デフォルトの名無しさん2012/05/05(土) 11:18:17.94
とりあえず日本語
0511デフォルトの名無しさん2012/05/06(日) 19:13:56.84
LLでの静的型チェックの論理的基礎が充実してきて、実装するのが流行りそう
http://cseweb.ucsd.edu/~rchugh/research/nested/#typecheckers
system d :: nested refinement types
- dependent types for dynamic language
- dependent javascript
https://github.com/frenchy64/typed-clojure
typed clojure
- Final Draft Project Proposal
- Early Draft Literary Review
言語によっては、scalaの型推論あたりに近づけるのかな?
0512デフォルトの名無しさん2012/05/08(火) 23:19:09.56
それなら静的型付言語に何でも入る型用意すればいいんじゃね?
0513デフォルトの名無しさん2012/05/09(水) 05:22:08.31
それってどこのバリアント型
0514デフォルトの名無しさん2012/05/09(水) 07:57:21.81
そんな言語ではチェックできないから書き直せという話ばかりで
チェックできたって話は聞いたことがない
0515デフォルトの名無しさん2012/05/09(水) 10:37:25.50
コマンドラインシェル「NYAOS」が内蔵“Lua”言語でCOMオブジェクトを制御可能に
ttp://www.forest.impress.co.jp/docs/news/20120509_531200.html
0516デフォルトの名無しさん2012/05/12(土) 03:29:37.84
LuaJIT 2.0.0-beta10 has been released
0517デフォルトの名無しさん2012/05/13(日) 13:43:35.87
#include <iostream>
#include <lua.hpp>
using namespace System;
int main(array<System::String ^> ^args)
{
double z;
int ret;
for(int aa = 0; aa < 1000000; ++aa){
lua_State *L = luaL_newstate();
L = lua_open();
luaL_openlibs(L); // これで以下の個別のライブラリを一度に使えるようにする
ret = luaL_dofile(L, "add.lua"); // Lua scipt 読み込む
if(ret != 0){
printf("Failed");//読み込み失敗
return -1;
}
lua_pushstring(L, "add");
lua_gettable(L, LUA_GLOBALSINDEX);
lua_pushnumber(L, 100); // 引数数値"100"をスタックに
lua_pushnumber(L, 5); // 引数数値"5"をスタックに
lua_call(L, 2, 1);
z = lua_tonumber(L, -1) ;
printf("%d-%f\n", aa, z);
lua_close(L);
}
return 0;
}

//add.lua
function add(a, b)
return a+b
end
0518デフォルトの名無しさん2012/05/13(日) 13:44:00.64

↑動かすとどんどんメモリー増えていく
どこ修正すれば解消される?

(lua5.1使用)
0519デフォルトの名無しさん2012/05/13(日) 13:45:18.32
まさかのc++cli
0520デフォルトの名無しさん2012/05/13(日) 13:48:18.68
> lua_State *L = luaL_newstate();
> L = lua_open();

ここだね、かぶってる。消し忘れ?
0521デフォルトの名無しさん2012/05/13(日) 13:52:33.50
c++cliです

//L = lua_open();

で、増えなくなった

ありがとう
0522デフォルトの名無しさん2012/05/17(木) 11:13:05.10
WindowsでLuaの勉強をはじめたんですが
Shift_JIS対応版Luaを使ったほうがいいのでしょうか?
スクリプトファイルはUTF-8で保存してcygwinのターミナルで実行すれば日本語も表示できるし
SJISでファイルを保存すればコマンドプロンプトでも日本語は表示できるので不便を感じません
いまいちよくわかってないのですがShift_JIS対応版を使うメリットはなんでしょうか?
0523デフォルトの名無しさん2012/05/17(木) 11:19:04.86
>>522
Shift_JIS でスクリプトを持ちたければ、これの回避が要るんじゃないの?
http://ja.wikipedia.org/wiki/Shift_JIS#2.E3.83.90.E3.82.A4.E3.83.88.E7.9B.AE.E3.81.8C5C.E7.AD.89.E3.81.AB.E3.81.AA.E3.82.8A.E3.81.86.E3.82.8B.E3.81.93.E3.81.A8.E3.81.AB.E3.82.88.E3.82.8B.E5.95.8F.E9.A1.8C
0524デフォルトの名無しさん2012/05/17(木) 15:07:11.90
>>523
イーモバイル使ってませんか?
0525デフォルトの名無しさん2012/05/17(木) 21:54:06.89
文字列に「ソ」とか入ってると文字列がおかしくなっちゃうんじゃないの?
0526デフォルトの名無しさん2012/05/17(木) 22:45:02.36
カギ括弧でくくればエスケープされないから、大丈夫じゃない?

> a = "ソ表";
stdin:1: unfinished string near '"・;'

> a = [[ソ表]];
> print( a );
ソ表
0527デフォルトの名無しさん2012/05/17(木) 22:48:23.90
もしsjisをやめてもWindowsは "C:\" だけでおかしくなる
だからsjisをやめるメリットが少ない
0528デフォルトの名無しさん2012/05/17(木) 23:07:35.04
mrubyがでてきたから、今後はもうluaはジリ貧だな
0529デフォルトの名無しさん2012/05/17(木) 23:08:12.11
他人が打ち込んだ文字列を取り入れる可能性ないならSJIS無視してOK
0530デフォルトの名無しさん2012/05/17(木) 23:35:17.32
mrubyの「組み込みシステム」ってそういう意味じゃないんじゃないの?
0531デフォルトの名無しさん2012/05/17(木) 23:42:05.67
すまん、勘違いだった
0532デフォルトの名無しさん2012/05/18(金) 00:14:16.28
とりあえずウォッチしてるけどLuaの影響がだいぶでかい感があるな
まだまだ開発中だけどやっぱりRubyで書けるようになるのは嬉しい
0533デフォルトの名無しさん2012/05/18(金) 01:13:09.15
>>527
それ Windows は、じゃなくて、C言語的に普通にえらーだべ
0534デフォルトの名無しさん2012/05/18(金) 10:00:13.72
>>526
Win環境でなくて申し訳ないけど

> s="ソ\r表"
> for i=1,#s do io.write(s:byte(i,i).." ") end print("")
227 130 189 13 232 161 168
> print(s)

> s=[[ソ^M表]]
> for i=1,#s do io.write(s:byte(i,i).." ") end print("")
227 130 189 10 232 161 168
> print(s)



別の問題が出て来る気がする
0535デフォルトの名無しさん2012/05/19(土) 02:58:32.03
mrubyのミドルウェアへの組み込みは思いつかなかったな
0536デフォルトの名無しさん2012/05/19(土) 15:20:02.78
単体で使うならrubyの方がいいけど
組み込み処理系がLuaほどいじりやすいかどうか。
MatzがやってるならC++でのコンパイルも通らないだろうし orz
0537デフォルトの名無しさん2012/05/20(日) 21:47:23.56
>>534

どんな問題?
0538デフォルトの名無しさん2012/06/02(土) 21:47:22.70
>>537
534で書いたまんまだけど
"..."では表現できて[[...]]では表現できないものが出てくるって事。

たとえば、以下4つの?に当てはまるものを考えてみ

> print("\r"==[[?]])
true
> print("\r\n"==[[?]])
true
> print("foo\rbar"==[[?]])
true
> print("foo\r\nbar"==[[?]])
true

0539デフォルトの名無しさん2012/06/02(土) 22:53:53.62
>>538
Shift-JIS対応の話だったのに問題がすり替わっているような

[[...]]で改行コードが厳密に扱えないとしても
そもそも改行コードを厳密に扱う場面で[[...]]を使おうと思う奴はいない

Shift-JIS非対応のバイナリでも注意して書けばShift-JISは扱える
いちいち気にしてられない場合はShift-JIS対応バイナリを使う
それだけのこと
0540デフォルトの名無しさん2012/06/02(土) 23:01:50.18
mrubyJIT…だと…?
0541デフォルトの名無しさん2012/06/02(土) 23:07:34.02
これはもうじっとしていられないな
0542デフォルトの名無しさん2012/06/02(土) 23:18:17.39
Visual Studioだとビルドめんどくせえなあmruby
他のみたいにパッケージのソースだけで出来上がるようにならんの・・・
0543デフォルトの名無しさん2012/06/03(日) 00:45:32.64
>>539
> >>538
> Shift-JIS対応の話だったのに問題がすり替わっているような
すり替えたつもりはないよ。
>カギ括弧でくくればエスケープされないから、大丈夫じゃない?
に対し、他の問題が出てくるよと提起しただけ。
そもそも、SJISで困るような環境の人ってのは
端末やらコマンド群やらなんやらの都合で
他に選択肢がない人たちなんだから
(SJIS文化に依存しない場合は別として)
パッチを当てるのが無難だよねと。
SJIS対応の為に[[...]]というバッドノウハウでしかないでしょ。
0544デフォルトの名無しさん2012/06/03(日) 00:50:02.60
SJIS使いならエスケープするべき漢字全部覚えるくらい普通です!
0545デフォルトの名無しさん2012/06/03(日) 09:25:48.02
名前を知ることで対象を支配できるという話があるけど
その名前を持つべき本人を操れるわけではなくて
実際には偽物とか仲間とか代弁者を操っているんだなと思いました (小学生並みの感想)
0546デフォルトの名無しさん2012/06/03(日) 13:36:53.30
AngelScript|Д`)<UTF8でやるかShiftJIS対応版使うかどっちかになるよ

あと、文字列内のエスケープするべき文字を見つけてエスケープに置き換えてくれるプリプロセッサとか使うのはダメなんだろうか。
0547デフォルトの名無しさん2012/06/03(日) 17:38:15.04
Lua5.2のシフトJIS版は些細な変更でUTF8にも対応可能
たまたま手を付けてないだけ やってみそ

ついでに配布ライブラリやIDEと整合しなくなる場合があるのは
C++でコンパイルしていることとVC10の/MTだからで、
必要ならソースの変更なしで対処できる項目ですのん。
0548デフォルトの名無しさん2012/06/03(日) 19:02:17.01
>> 543

> print( "foo\rbar" == [[foo]].."\r"..[[bar]] )
> print( "foo\r\nbar" == [[foo]].."\r\n"..[[bar]] )

これでいいでしょ。

普通に改行すればそのまま改行コードが挿入されるけど。そういうことじゃないのかな?

print( [[foo
bar]] )

> パッチを当てるのが無難だよねと。

これに異論はないです。無用なエラーは避けられたほうがいいし。

> SJIS対応の為に[[...]]というバッドノウハウでしかないでしょ。

エスケープされて欲しくない文字列は[[...]]使えってことなんだから、
そのためにパッチを当てる方が、どちらかというと、バッドノウハウだと思うのだが。
0549デフォルトの名無しさん2012/06/03(日) 19:19:47.89
日本語自体がバッドノウハウ
0550デフォルトの名無しさん2012/06/03(日) 19:31:40.33
rubyのほうがluaより14倍生産性が高い、って言われてmruby見てみたけど…
githubにあるやつが最新でいいんだよね?
0551デフォルトの名無しさん2012/06/03(日) 21:53:42.04
そんなに難しいこと言ってるかな…

>>548
> これでいいでしょ。
よくない。
"foo"==[[foo]], "bar"==[[bar]], "\r"=="\r", "\r\n"=="\r\n"
とかいう話をしてない。

> 普通に改行すればそのまま改行コードが挿入されるけど。そういうことじゃないのかな?
ちがう。
534で既に書いてあるが
CR->LF, CRLF->LF, LF->LFな変換が入るので(Cのテキストモードのような)
"..."では表現できて[[...]]では表現できないものが出てくる。

> エスケープされて欲しくない文字列は[[...]]使えってことなんだから、
> そのためにパッチを当てる方が、どちらかというと、バッドノウハウだと思うのだが。
そもそも、SJISは対応してないのね。
対応外の文字コードを扱うために培うノウハウ、これぞバッドノウハウじゃないかな?
0552デフォルトの名無しさん2012/06/03(日) 22:44:05.27
これは酷い。Lua涙目
http://blog.matsumoto-r.jp/?p=2642
0553デフォルトの名無しさん2012/06/03(日) 22:49:20.17
>>552
相互呼び出しくらいまでやってみてくれないとネタ以上の意味はないし、"意外と使えるかも?"なんてことは無いと思う
0554デフォルトの名無しさん2012/06/03(日) 22:50:48.90
あくまでネタで作ったっぽいけどどうだろ
0555デフォルトの名無しさん2012/06/04(月) 00:06:25.67
こんな小ネタで禁断とか涙目とかはしゃげるのだから可愛いじゃないか

それよかmrubyの組み込みAPIがドキュメント無くてさっぱりわからん
0556デフォルトの名無しさん2012/06/04(月) 07:56:21.41
mruby遅そっ
0557デフォルトの名無しさん2012/06/04(月) 09:20:34.37
ザ・ruby界隈の人間
0558デフォルトの名無しさん2012/06/05(火) 00:25:04.19
個人的にruby使えるのは嬉しいのでわくわくして追いかけてる
まぁLua先輩は資産いっぱいあるからすぐどうなるもんじゃないだろうけど
それに割と忘れられてるがまだ正式リリースじゃないしパーサbison製だしまだいまいちだろう

>>556
早くベンチマーク結果を貼るんだ
0559デフォルトの名無しさん2012/06/05(火) 07:22:51.14
先輩の資産とrubyの進捗は関係ないだろう
ゼロサムゲームじゃないんだから
0560デフォルトの名無しさん2012/06/05(火) 14:33:34.73
一方luaにはnode.jsクローンのluvitってのが出来て、
node資産を移植してるみたい。
0561デフォルトの名無しさん2012/06/05(火) 14:37:49.02
luajitのベースってmrubyに使えるのだろうか
0562デフォルトの名無しさん2012/06/05(火) 14:46:38.87
http://wiki.luajit.org/#LuaJIT+Internals
bytecodeとか
0563デフォルトの名無しさん2012/06/15(金) 15:55:41.05
Lua 5.2.1 released
http://www.lua.org/ftp/lua-5.2.1.tar.gz

Lua 5.2.1 has been released. It fixes all known bugs in Lua 5.2.0.
0564デフォルトの名無しさん2012/06/15(金) 16:14:49.57
記念していつもの
lua52.dll
http://www1.axfc.net/uploader/Sc/so/354475
0565デフォルトの名無しさん2012/06/15(金) 16:35:30.55
>>564
いつものってなんだっけ?
5.2.1のバイナリデータ?
0566デフォルトの名無しさん2012/06/15(金) 18:07:15.47
おそっ
0567デフォルトの名無しさん2012/06/26(火) 00:14:54.26
AngelScript|Д`)<2.24.0記念カキコ
0568デフォルトの名無しさん2012/06/26(火) 00:46:36.27
はやっ
0569デフォルトの名無しさん2012/06/27(水) 13:37:45.87
スクリプト言語による効率的ゲーム開発という本のサンプルは
luaをインストールしてない環境でも起動できるんですけど、
自作ソフトだとlua5.1.dllがないと言われて起動できません
luaをインストールしてない環境でも起動できるようにするにはどうすればいいですか
0570デフォルトの名無しさん2012/06/27(水) 13:39:01.85
サンプルから学べばいいですよ
0571デフォルトの名無しさん2012/06/27(水) 16:38:27.81
同梱白!
0572デフォルトの名無しさん2012/06/27(水) 17:48:02.50
サンプルの方は入ってないのに実行できるんですよ
0573デフォルトの名無しさん2012/06/27(水) 18:39:58.77
本をきちんと買って読みなさい
0574デフォルトの名無しさん2012/06/27(水) 20:01:09.66
>>569
自分のプロジェクトフォルダlua5.1.dllをコピーすれば動くはず。
0575デフォルトの名無しさん2012/06/27(水) 20:14:18.21
>>569
サンプルはスタティックリンクでdll同梱無しに出来るようにしたのだろう
お前が作ったexeはダイナミックリンクでluaを使っているんだろう
だから同梱しないとダメなんだ 多分

あと名前にレス番くらい入れなよ
05765692012/06/27(水) 21:29:51.59
実行ファイルと同じところにlua5.1.dllを置いたら実行できました
みなさんありがとうございました

自作ソフトで使ってるluaは公式サイトからダウンロードしたものですが、
サンプルは本のサポートページからダウンロードできるものを使っていて
スタティックリンクできるよう改造してあるようですね
ライブラリへのパスがlibじゃなくてlib\staticだからおかしいとは思っていたんですが
このこともちゃんと質問文に加えておくべきでした
すみませんでした
0577デフォルトの名無しさん2012/06/27(水) 21:47:39.66
ええよ
今回は許したるで^^
0578デフォルトの名無しさん2012/06/27(水) 22:15:53.79
俺は許さんけどな。
0579デフォルトの名無しさん2012/06/27(水) 22:34:39.31
>>576
普通に、組み込めばよろしい。
0580デフォルトの名無しさん2012/06/28(木) 07:00:20.77
・д・
0581デフォルトの名無しさん2012/06/29(金) 09:59:08.66
Squirrelの本出てたんだなww
0582デフォルトの名無しさん2012/06/29(金) 12:00:56.28
        (´\r-、     ┼         +     /`/`)    +
     ┼   (\. \!              *     // ,/)  *
  +     * (ヽ、   \ +  *          /   /)   +
      ⊂ニ      )        *   +  (     ニ⊃
  *  +  ⊂、     (   ∩___∩   ノ     ⊃   +  *
         (/(/   ヽ  | ノ     ヽ /    、)ヽ)  ┼
    +        (/     ∨  ●   ●レ /⌒) 、)ヽ)
     *       (/'   |   ( _●_) ミ'  /、)、)´       +
         +    (/'ヽ 彡、   |∪| ノ /     AngelScript!!
     +            / __ヽノ  /  *      +
       ┼        (___) /      +
               /     /
               (_ ⌒丶..
                | /ヽ }.
                  し  ))
                    ソ  トントン
0583デフォルトの名無しさん2012/06/29(金) 21:37:41.20
AngelScript|Д`)<何だよAngelScriptの本も欲しいのか?

でも書いている間に新しいバージョンが出て使い物にならなくなりそうで怖い。
0584デフォルトの名無しさん2012/06/30(土) 23:37:49.22
>>583
そうだけど
付属ドキュメントは割と丁寧だし、作者がすぐレスしてくれるフォーラムもある
本など不要だ
0585デフォルトの名無しさん2012/07/01(日) 01:33:43.39
実行状態を保存して、次に起動した時に復帰できる組み込み言語ってある?
Luaはダメだった。
0586デフォルトの名無しさん2012/07/01(日) 02:25:37.83
どうダメだったの?
シリアライズするだけじゃね?
逆に聞くけど、それすら出来ない組み込み言語ってそもそも存在するの?
0587デフォルトの名無しさん2012/07/01(日) 04:00:13.23
>>550
実行状態ごと記録できるようなのあったっけ
0588デフォルトの名無しさん2012/07/01(日) 20:29:16.38
コルーチンまできちんと保存してくれるとなると便利なんだけどさすがに無理か。
0589デフォルトの名無しさん2012/07/01(日) 20:33:06.64
VM内の全メモリ保存とかできないの?クイックセーブ的なノリで
0590デフォルトの名無しさん2012/07/01(日) 21:40:12.25
core dump
0591デフォルトの名無しさん2012/07/01(日) 21:46:41.26
AngelScriptを弄って状態保存やってるけど、まだ不完全 修正のめども立たず
変数がプリミティブ型とかアプリケーションから登録した型のみならちゃんと使える
スクリプトクラスの保存はちょっとややこしくてできてない
バイトコードを変えた場合セーブデータは引き継げない←これは仕方ないか
0592デフォルトの名無しさん2012/07/01(日) 22:53:21.77
http://metalua.luaforge.net/
metaluaってコアダンプして作ってる?
0593デフォルトの名無しさん2012/07/02(月) 11:04:15.33
squirrelってサーバーで動かしても平気?
0594デフォルトの名無しさん2012/07/02(月) 20:39:05.14
>>591
Suspendで一時停止させた状態も保存できる?
0595デフォルトの名無しさん2012/07/03(火) 03:25:36.86
LuaにCのgetchみたいな関数ってあります?
エコーバック無しでキーボードから1文字入力したい。
05965912012/07/03(火) 23:15:09.72
>>594
うん
0597デフォルトの名無しさん2012/07/05(木) 20:19:02.36
>>596
スクリプトの実行中にSuspendで止めたときの次の実行位置ってどうやって保存してるのかな?
0598デフォルトの名無しさん2012/07/08(日) 00:47:36.51
保存する時は
プログラムポインタからバイトコードの始まりを指すアドレスを引き算して
その値を保存
読み込む時は逆
0599デフォルトの名無しさん2012/07/08(日) 00:48:10.00
それより変数の保存のほうが困難なんだが。
0600デフォルトの名無しさん2012/07/09(月) 00:54:41.63
boost::serializationとか上手く使えないかな
0601デフォルトの名無しさん2012/07/14(土) 10:04:05.63
boostを上手く使う方が困難じゃないか…
0602デフォルトの名無しさん2012/07/14(土) 12:10:28.72
Serializerアドオンと機能がかぶってるぜ
0603デフォルトの名無しさん2012/07/15(日) 19:04:15.83
Serializerで変数の内容を保存+実行位置を保存できればセーブできそう。
boost::serializationはその手助けになるよ。
0604デフォルトの名無しさん2012/07/15(日) 20:39:34.37
ttp://dl.dropbox.com/u/91791736/manual/index.html
ttp://dl.dropbox.com/u/91791736/as_manual_ja_2_24_0.zip
0605デフォルトの名無しさん2012/07/15(日) 21:38:57.95
日本語や!
俺にはそこまで必要ないが英語苦手な人にはありがたいだろう
Good Job
0606デフォルトの名無しさん2012/07/15(日) 21:40:46.88
でもDropBoxよりも、git-svnやhgsubversionでリポジトリ変換して
Bitbucketとかに置いたほうが良さそう
今後もどんどん更新されるし他の人も作業に加わりやすい
0607デフォルトの名無しさん2012/07/15(日) 21:49:36.52
Luaのグローバル変数ってただのテーブルだって聞いたんですけど、
それならただグローバル変数一つにアクセスするだけでもテーブルを参照したりするコストが結構かかっちゃうってこと?
0608デフォルトの名無しさん2012/07/15(日) 22:03:48.89
同じグローバル変数に何度もアクセスするならローカル変数にコピーして
0609デフォルトの名無しさん2012/07/15(日) 22:05:01.55
>>607
そうです
0610デフォルトの名無しさん2012/07/15(日) 22:26:13.84
ただ、コンパイル時に文字列定数(テーブルのルックアップのキーになる)は予めハッシュ値に変換されるから、そこまで遅いわけでもない。
0611デフォルトの名無しさん2012/07/16(月) 10:35:47.87
>>610
文字列定数をハッシュ値に変換じゃなくて
すべての文字列にハッシュ値を添付してるんじゃないかな

いずれにせよ、グローバル変数はライブラリを受け渡す一時的な置き場所という感じ
なのでrequireの直後にローカル変数にコピーしたりする
0612デフォルトの名無しさん2012/07/16(月) 10:42:37.38
Luaは整数型が無いにもかかわらず整数演算がけっこう速い。
つまり、インタープリタの性能のボトルネックは処理そのものの
コストよりも 通訳系自身の翻訳コストにある。
そういうわけで Luaの場合 細かいことはあんまり気にしなくてもいいかも。
0613デフォルトの名無しさん2012/07/16(月) 10:58:25.38
メモリ上の翻訳よりディスク上のライブラリ検索とロードの方が遅いと思う
0614デフォルトの名無しさん2012/07/16(月) 23:46:41.67
http://www.slideshare.net/matsumoto_r/
mrubyをapache組み込みで少しいじってる人がいる。

http://www.slideshare.net/takahashim/okark2012
でも、まだ実用アプリ開発は修羅の道らしい。
0615デフォルトの名無しさん2012/07/17(火) 08:29:56.49
オナニー言語がまたひとつ増えたか
0616デフォルトの名無しさん2012/07/18(水) 23:14:49.12
最高のオナニーを見せてあげるわ
0617デフォルトの名無しさん2012/07/18(水) 23:25:38.76
>>604
これってリンクフリー?
06186042012/07/19(木) 01:03:56.86
>>617
好きにするといいよ。面白そうだったからやったけど、実は一ミリも使ってない
OmegaT 用のプロジェクトも一応置いとく
ドキュメントが更新されても、翻訳メモリを使えば同じ文はもう一度訳さなくて済む
>>606 みたいにするといいだろうけど、使ってないから・・・
ttp://dl.dropbox.com/u/91791736/asd.zip
0619デフォルトの名無しさん2012/07/19(木) 21:44:45.64
>>618
ども。
リンク貼らせてもらうよー
0620デフォルトの名無しさん2012/07/24(火) 23:06:57.46
すいません
どなたかluvitにluaかsquirrel組み込む方法わかりますでしょうか
0621デフォルトの名無しさん2012/07/25(水) 01:13:49.95
>>620
luvitのモジュール構成的に、luaをあえて追加する必要って無いように思うんだけど
私の勘違いだったらごめんなさい
0622デフォルトの名無しさん2012/07/26(木) 21:47:23.82
>>621
itemid=1
effect=kaihuku.lua
param=100

itemuse(1);

みたいなこと単体でできます?
0623デフォルトの名無しさん2012/07/26(木) 21:49:18.52
itemuseの中はeffectに書いてあるスクリプトを実行します
0624デフォルトの名無しさん2012/07/31(火) 00:02:29.60
vm新規で作ったらうまくいきました
0625デフォルトの名無しさん2012/08/03(金) 04:23:08.79
rubyをC++に組み込んで使っていて詰まった…かれこれ3日くらい悩んでる。
エンコードshift_jisが使えない。組み込んだRubyで"p Encoding.list"を
実行しても、Shift_JISが出てこない。誰か助けてください。
具体的な組み込み方は以下の通り。
(1) Ruby公式サイトからソースコードを入手して、Visual Studioコマンド
プロンプトでコンパイル。
(2) *ruby*-static.lib, *ruby*.libをライブラリファイルとして追加、
*ruby*.dllをソースと一緒のディレクトリに置く。
(3) ダウンロードしたRubyソース内のincludeフォルダをインクルード
ファイルとして追加。

という感じ。どうもlibファイルとdllファイルだけではエンコードが
限定されるらしい…?
一応Encoding.listにUTF-8が出ていたから、Rubyのソースコードを
UTF-8で保存してC++側で変換すればマルチバイト文字列は扱えたけど、
やはりShift_JISを直接扱えたほうがありがたい。
誰か解決方法を知っている方はいないでしょうか…。
0626デフォルトの名無しさん2012/08/03(金) 12:18:51.12
>>625
スレ名嫁
0627デフォルトの名無しさん2012/08/03(金) 20:31:36.82
>>626
スレ名嫁
0628デフォルトの名無しさん2012/08/05(日) 12:11:39.63
組み込み系言語として、このスレでは主にluaやsquirrelなどを扱ってる。
調査でrubyを組み込んでみてる人もいるんだろうけど、このスレで聞くより言語のスレのがいいのかな?

0629デフォルトの名無しさん2012/08/05(日) 17:51:01.70
>>628
rubyはまったく詳しくないけど
単にモジュールが見えてないだけじゃないかな。
make installすれば勝手に設定してくれそうなもんだけど
そうでないなら
http://doc.ruby-lang.org/ja/1.9.3/doc/spec=2fenvvars.html
を参考に環境変数にパスを登録するといいかもしれない
0630デフォルトの名無しさん2012/08/06(月) 19:52:26.03
Lua開発元にはその昔申し訳ないことをしたことを思い出したのでリンク
ttp://kohada.2ch.net/test/read.cgi/mmosaloon/1343570537/327
0631デフォルトの名無しさん2012/08/07(火) 05:29:42.29
ソースをgrepする元気が無い 眠い 暑い
luaって配列渡すとコピーされる?
それともアドレスだけ受け取ってうまくやってくれる?
0632デフォルトの名無しさん2012/08/07(火) 12:06:38.16
いわゆるvariant型なので引数自体はコピーされるけど、配列は参照で保持してるので同じ物になる
0633デフォルトの名無しさん2012/08/07(火) 21:56:31.53
Luaに配列はないです。

配列に似た動作が可能なテーブルもありますので
それで代用します。

ちなみに、組み込み言語のボトルネックは
別の部分にありますので、
変数のコピーの受け渡しごとき気にする必要ないです。
0634デフォルトの名無しさん2012/08/07(火) 22:43:45.73
>>633
javascriptのオブジェクトとにたようなものを配列として扱う
0635デフォルトの名無しさん2012/08/08(水) 13:48:30.42
5000個のdoubleデータをc++からLuaにデータ移動するのを
5000回lua_pushnumberでスタックにつんで送り出してるんだけど

これ以外に高速な方法ないですか?
0636デフォルトの名無しさん2012/08/08(水) 13:51:46.43
doubleを5000個保持するデータ構造をuserdataなどで取り扱うのが正解
0637デフォルトの名無しさん2012/08/08(水) 14:02:24.30
lua_pushlightuserdata使えばいいのね
thx
0638デフォルトの名無しさん2012/08/08(水) 15:19:54.10
LuaってC++と相性悪くね?
例外とか考えるのめんどいんだけど
0639デフォルトの名無しさん2012/08/08(水) 15:57:29.71
>>638
例外を使わなければいい
0640デフォルトの名無しさん2012/08/08(水) 17:55:05.55
てかLua自身をC++でコンパイルすればいいじゃん。
MakefileのCC=を書き換えるだけの簡単なお仕事
ソースの修正不要です。
0641デフォルトの名無しさん2012/08/08(水) 17:58:09.88
C++でコンパイルすると例外に対応してくれんの?
0642デフォルトの名無しさん2012/08/08(水) 18:00:25.62
そうです
0643デフォルトの名無しさん2012/08/08(水) 18:03:26.20
というか過去ログのShiftJIS版5.2の実行ファイル、
C++でコンパイル済みの.exe
0644デフォルトの名無しさん2012/08/09(木) 00:53:14.74
>>641
するわけ無いじゃん
ANSI-Cで書かれてるんだからANSI-Cに存在しない機能は当然サポートされないよ
0645デフォルトの名無しさん2012/08/09(木) 01:48:03.42
>>644
ソース読んでないことバレバレw
/*
** LUAI_THROW/LUAI_TRY define how Lua does exception handling. By
** default, Lua handles errors with exceptions when compiling as
** C++ code, with _longjmp/_setjmp when asked to use them, and with
** longjmp/setjmp otherwise.
*/
0646デフォルトの名無しさん2012/08/09(木) 01:52:34.63
#if defined(__cplusplus) && !defined(LUA_USE_LONGJMP)
/* C++ exceptions */
#define LUAI_THROW(L,c) throw(c)
#define LUAI_TRY(L,c,a) \
try { a } catch(...) { if ((c)->status == 0) (c)->status = -1; }
#define luai_jmpbuf int /* dummy variable */

#elif defined(LUA_USE_ULONGJMP)
/* in Unix, try _longjmp/_setjmp (more efficient) */
#define LUAI_THROW(L,c) _longjmp((c)->b, 1)
#define LUAI_TRY(L,c,a) if (_setjmp((c)->b) == 0) { a }
#define luai_jmpbuf jmp_buf

#else
/* default handling with long jumps */
#define LUAI_THROW(L,c) longjmp((c)->b, 1)
#define LUAI_TRY(L,c,a) if (setjmp((c)->b) == 0) { a }
#define luai_jmpbuf jmp_buf

#endif
0647デフォルトの名無しさん2012/08/09(木) 09:06:56.11
RAIIに対応してんの?
例外投げてもリークしたら意味ないよな
0648デフォルトの名無しさん2012/08/09(木) 14:10:36.20
AngelScript|Д`)<AngelScript2.24.1記念カキコ
0649デフォルトの名無しさん2012/08/09(木) 18:07:27.49
>>647

ケース1:
C++で書いたLua関数の内部でboostやSTLを使用し、
そこから例外が来たとする。
リークしない。

ケース2:
C++で書いた関数の内部でクラスを定義しつつ、
luaL_callなどを使用した場合、
LUAI_THOROWの実装がthrowであるならばリークしない。
longjmpが医師用された場合はリークするが
Lua本体がC++でコンパイルしていれば
LUA_USE_LONGJMPを定義しない限り使用されない。

注意:
当然の事ながらluaL_callの内側からC++で定義された
例外が飛んできた場合、スタックやStateの後始末が
必要になるが、それはプログラムの書き方の問題。
書く時に避ければいい。
0650デフォルトの名無しさん2012/08/09(木) 22:34:26.60
>>648
ロゴはラピュタのロボットの飛行状態ですよね
0651デフォルトの名無しさん2012/08/09(木) 22:48:06.96
天使語がはやくメジャーになるといいですね
0652デフォルトの名無しさん2012/08/10(金) 00:55:44.06
日本語環境で使う場合にエンゼルスクリプトの問題点って何かある?
0653デフォルトの名無しさん2012/08/10(金) 01:06:23.86
>>652
Win環境の場合だと、デフォではShiftJISに対応してない事。
UTF8でスクリプト書けば問題ないけど。
0654デフォルトの名無しさん2012/08/10(金) 13:53:58.02
いまどきsjis使わないだろ
0655デフォルトの名無しさん2012/08/10(金) 19:45:27.95
使わないよな普通
0656デフォルトの名無しさん2012/08/10(金) 21:38:30.54
Windows上でしかやらない場合はまだShiftJIS使う事もあるよ。
WindowsでもUTF8のテキストを変換せずに使えるといいのになーとは思う。
0657デフォルトの名無しさん2012/08/10(金) 23:04:10.92
内部でUTF16に変換する環境では、外部がUTF8でもSJISでも五十歩百歩だよな
0658デフォルトの名無しさん2012/08/12(日) 03:49:06.90
luaでshebangつかうとき、普通に

#!/usr/bin/lua

って書いても問題ないですか?
というか、実際やってみると動くんですが、
luaってコメントが"#"じゃなくて"--"なので、本当にこれでいいのかなぁと。
0659デフォルトの名無しさん2012/08/12(日) 04:03:19.46
Lua 5.0向けだけど http://www.lua.org/pil/1.4.html/
> When the interpreter loads a file, it ignores its first line
> if that line starts with a number sign (`#´).
0660デフォルトの名無しさん2012/08/12(日) 05:10:30.90
こんな時間にありがとうw
おかげですっきりしました。
0661デフォルトの名無しさん2012/08/12(日) 13:51:08.30
うひー、速いよ、速すぎるよLuaJIT !!
Cといい勝負。
なにするとこんなに速くなるんだ?
0662デフォルトの名無しさん2012/08/12(日) 17:43:20.34
コンパイルするから速くなる
0663デフォルトの名無しさん2012/08/12(日) 17:45:52.42
バインダってへんな副作用とかないんですか?
バインダつかってハマったこととかあります?
0664デフォルトの名無しさん2012/08/12(日) 19:19:37.33
ハマったわけじゃないけど
最新のboostだとコンパイルできなくて1つ前の使うとかなら
0665デフォルトの名無しさん2012/08/14(火) 02:47:58.36
javascriptとluaどっちがきのこるとおもう
0666デフォルトの名無しさん2012/08/14(火) 02:49:51.92
スクアールはもうダメかな
0667デフォルトの名無しさん2012/08/14(火) 06:23:50.30
サッカー選手「竹島」主張、韓国協会が謝罪文書
読売新聞 8月13日(月)22時45分配信

 ロンドン五輪サッカー男子の3位決定戦直後に韓国選手が竹島の韓国領有を主張する政治的メッセージを掲げた問題で、
日本サッカー協会の大仁(だいに)邦弥会長は13日、謝罪と再発防止を徹底させる旨を記した韓国サッカー
協会長名の文書を受け取ったことを明らかにした。

 文書は同日付で電子メールとファクスで送られており、大仁会長によると「申し訳なかった。二度とこういうこと
が起こらないように徹底する」という内容だったという。

 国際オリンピック委員会(IOC)のロゲ会長は12日、当該選手の銅メダルを預かりとしたうえで、国際サッカー
連盟(FIFA)規律委員会の決定を待って処分を決める意向を示している。大仁会長も「五輪の場で起こったの
は残念だが、当面はIOCとFIFAに任せたい」と静観する構えであることを強調した。
.http://headlines.yahoo.co.jp/hl?a=20120813-00001408-yom-spo
0668デフォルトの名無しさん2012/08/15(水) 17:18:15.32
Lua5.2.1 windows シフトJIS対応版 リリース

http://mynickname.web.fc2.com/
5.2.1から64bitでもビルドして検証
make32.bat/make64.batというバッチを添付
0669デフォルトの名無しさん2012/08/19(日) 00:31:05.24
SJIS使わないさん遅いな…
0670デフォルトの名無しさん2012/08/25(土) 19:29:38.04
633の頭の中ではメモリが無限でメモリ読み書きは一瞬で終わることになってるのか
0671デフォルトの名無しさん2012/08/25(土) 22:42:17.97
まるでfirefox開発者のような意見だな
0672デフォルトの名無しさん2012/08/28(火) 11:47:14.89
スクリプトブームってもうオワコンですか?
0673デフォルトの名無しさん2012/08/28(火) 12:00:11.40
スクリプトは単なるC/C++のライブラリだという事に、もう気付いたよな
0674デフォルトの名無しさん2012/08/28(火) 12:22:21.06
次はGCJブームが始まるべきだ
0675デフォルトの名無しさん2012/08/28(火) 14:12:36.58
今はブームから当たり前のものになりつつある時期
各自シコシコいじってるような時期
0676デフォルトの名無しさん2012/09/07(金) 23:31:45.25
AngelScriptがクラスのmixinとか言うのに対応するらしいが
mixinって何??
C++にはvirtualキーワード使った多重継承があるけど
これとは違うのか
0677デフォルトの名無しさん2012/09/08(土) 00:28:28.96
似たようなもの。

二つのクラスを混ぜるんじゃなかったっけ
0678デフォルトの名無しさん2012/09/08(土) 00:30:41.10
http://ja.wikipedia.org/wiki/Mixin
0679デフォルトの名無しさん2012/09/08(土) 00:34:32.33
mixinのページより継承のページのほうが良かった気がする
0680デフォルトの名無しさん2012/09/08(土) 09:51:37.26
http://www.kmonos.net/alang/d/mixin.html
0681デフォルトの名無しさん2012/09/08(土) 10:11:17.12
>>680
http://www.kmonos.net/alang/d/template-mixin.html
こっちじゃ
0682デフォルトの名無しさん2012/09/08(土) 15:46:49.57
Luajit FFI から APR を使おうとしたら mangling うんぬん・・・
0683デフォルトの名無しさん2012/09/08(土) 18:13:10.47
バイナリとソースのギャップが大きいということは
言語を二つ覚えさせられるのと同じことだよな
0684デフォルトの名無しさん2012/09/08(土) 18:57:48.68
呼び出しを __stdcall で解決

>>683
じゃ・・・インタプリタ
0685sage2012/09/08(土) 20:46:53.93
angelscript触ってみたが、グローバル関数をC++->asへは渡せたけど
ドキュメントにあるようなクラスメソッドを渡すコードは"クラス名"はデータ型じゃぬぇと怒られて失敗する
なぜなん・・・
0686デフォルトの名無しさん2012/09/09(日) 03:26:46.58
luaについて質問です。
Cの関数で、数値で順序付けられた配列(キーが数値のテーブル)を戻り値として返したいのですが、
どうもうまくいきません。解決方法を教えてください。

data[0] = 100;
lua_newtable(L);
lua_pushnumber(L, data[0]); // 値。dataはCの配列
lua_pushnumber(L, 1); // 添字
lua_settable(L, -3);
return 1;

このコードの場合、lua側からは、
print(data[1])
で、100が表示される事を期待してるんですが、そんな要素は無いと怒られます。

以下の様にすると、luaでは、data["1"]としてしかアクセス出来ません。
lua_newtable(L);
lua_pushnumber(L, data[0]); // 値。dataはCの配列
lua_setfield(L, -2, "1"); // 文字列としてしかキーを設定できない?
0687デフォルトの名無しさん2012/09/09(日) 09:28:16.93
lua_settable はスタックトップに値じゃね
メタメソッド呼ばないときは lua_rawseti 使ってるわ
0688デフォルトの名無しさん2012/09/09(日) 10:26:04.15
#define fn(L, a, b) \
luaL_loadstring(L, "local " a "=...;return " b) && lua_error(L)

fn(L, "val,key", "{ [key]=val }");
lua_pushnumber(L, data[0]); // val
lua_pushnumber(L, 1); // key
lua_call(L, 2, 1);

Cの速度ではなくライブラリの利用が目的であればloadstringでいい
06896862012/09/09(日) 12:46:00.35
>>687
おっしゃる通り、スタックトップに値でした。
考えてみると、最後に積んだのがスタックトップですもんね…。
lua_rawseti。大量のデータを格納するには この方が早そうですね。
ありがとうございました。

>>688
なかなかトリッキーな感じですね。
確かに速度に重点を置かなければ、何かに応用ききそうですね。
勉強になりました。
0690デフォルトの名無しさん2012/09/09(日) 13:31:56.38
>>685
クラスメソッドはグローバル関数として登録しないとダメなはず。
どうしてもクラスメソッドと同じ書き方で呼び出したい場合は、

lpEngine->SetDefaultNamespace("Hoge");
lpEngine->RegisterGlobalFunction("void Fuga()", asFUNCTION(Hoge::Fuga), asCALL_CDECL);
lpEngine->SetDefaultNamespace("");

とやって、クラス名と同じ名前空間のグローバル関数として登録すれば、

Hoge::Fuga();

って書いて呼び出せる。
0691デフォルトの名無しさん2012/09/11(火) 07:20:00.72
>>690
なるほどありがとう ちょっと天使に近づけたわ
0692デフォルトの名無しさん2012/09/11(火) 07:47:52.97
       //
     /  /   パカッ
     //⌒)∩__∩
    /.| .| ノ     ヽ
    / | |  ●   ● |     
   /  | 彡  ( _●_) ミ Lua!!
   /  | ヽ  |∪|  /_
  // │   ヽノ  \/
  " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ

0693デフォルトの名無しさん2012/09/15(土) 23:23:55.24
>>690
え?嘘教えるなよwそんな事したってクラスとして使えないだろ
コンパイル通らないか、通っても実行時にエラーになりそう
RegisterObjectMethodの前に
目的のクラスをRegisterObjectTypeで登録していないだけだろ
それと、引数に使われているクラスも事前に登録されていないとエラーになるから気をつけろ
0694デフォルトの名無しさん2012/09/17(月) 21:53:49.52
sqplusって2.1.1と一緒にパッケージされてるけどsquirrel3以降では使えないの?
0695デフォルトの名無しさん2012/09/18(火) 00:44:17.72
推奨ではないということ
使えないという可能性も含めて
0696デフォルトの名無しさん2012/09/18(火) 09:54:38.15
>>693
それインスタンスメソッドじゃね?
0697デフォルトの名無しさん2012/09/19(水) 02:19:18.64
クラスメソッドって、本当にそっちの事をいっているのだろうか
そもそもAngelScriptにはクラス内でstaticなメソッドを作る機能なんてないので
そんなサンプルがドキュメントに載っている筈もない
0698デフォルトの名無しさん2012/09/19(水) 02:23:43.84
AngelScript 2.25.0 出てたのか
0699デフォルトの名無しさん2012/09/19(水) 05:48:05.04
        (´\r-、     ┼         +     /`/`)    +
     ┼   (\. \!              *     // ,/)  *
  +     * (ヽ、   \ +  *          /   /)   +
      ⊂ニ      )        *   +  (     ニ⊃
  *  +  ⊂、     (   ∩___∩   ノ     ⊃   +  *
         (/(/   ヽ  | ノ     ヽ /    、)ヽ)  ┼
    +        (/     ∨  ●   ●レ /⌒) 、)ヽ)
     *       (/'   |   ( _●_) ミ'  /、)、)´       +
         +    (/'ヽ 彡、   |∪| ノ /     AngelScript!!
     +            / __ヽノ  /  *      +
       ┼        (___) /      +
               /     /
               (_ ⌒丶..
                | /ヽ }.
                  し  ))
                    ソ  トントン
0700デフォルトの名無しさん2012/09/19(水) 05:50:48.15
   /ヽ /ヽ
  ':' ゙''"  `':,
  ミ   ・ω・ ;,
 :; . っ     ,つ
  `:;      ,;'
   `( /'"`∪
0701デフォルトの名無しさん2012/09/20(木) 14:21:34.27
AngelScriptにもデリゲートが実装されるといいのに
でもGCとの絡みなんかで難しそう
メソッドを呼ぶ側のクラス(管理クラス)と呼ばれる側のクラス(イベントハンドラ)、
どちらかが必要なくなったときに問題がややこしくなる
管理クラスよりイベントハンドラ的なクラスの方を先に解放してしまうと無効なポインタにアクセスしてしまうかもしれないし
管理クラス以外には必要ないのにずっと解放しないで持っておくのもよくない
他の言語ではどういう風に解決しているんだろう
0702デフォルトの名無しさん2012/09/20(木) 14:48:09.14
>>701
参照カウンタじゃね?
0703デフォルトの名無しさん2012/09/22(土) 03:36:12.95
>>693
2.24時点ではコンパイル通ったし、エラーも出なかったよ。
確かにクラスとしてインスタンス化できるわけじゃないけど、メソッド呼ぶのが目的だから十分だた

でも言われた通りクラスオブジェクト登録してないのが原因だったのでそういうふうに書きなおしたわ
0704デフォルトの名無しさん2012/09/22(土) 15:47:34.31
>>701
弱参照とか
0705デフォルトの名無しさん2012/09/22(土) 21:20:30.63
mrubyの開発者はLuaじゃ足りないとかいってるが
組み込み言語なんだから十分だよな
0706デフォルトの名無しさん2012/09/22(土) 21:21:23.34
足りないよ
0707デフォルトの名無しさん2012/09/23(日) 00:18:51.74
monoを組込スクリプトとして使ってる人いませんか?
UnityやPSMでスクリプト言語として使ってるけど、情報が少なすぎて真似出来ません。
0708デフォルトの名無しさん2012/09/23(日) 07:50:27.13
>>706
センスがないだけ
0709デフォルトの名無しさん2012/09/23(日) 12:51:38.91
足りないというよりも、Rubyじゃないのが気に入らんだけでしょ
0710デフォルトの名無しさん2012/09/23(日) 20:08:25.84
>>707
今mono 組み込みでググって見たらそれっぽい記事すぐ出たよ。
自分はまだ試してないけど。
0711デフォルトの名無しさん2012/09/23(日) 22:02:40.17
monoは配布物全部ぶちこむのは簡単だけど、最小構成がくめない……

unityとかは相当人突っ込んだんだとおもうよ
0712デフォルトの名無しさん2012/09/25(火) 22:23:15.53
Luaユーザーに質問ですが、文末に『 ; (セミコロン)』付けてますか?
付けなくても改行すれば問題ないし、タイプ数も減るので付けてなかったのですが、
最近気になって、どっちが一般的か教えてください。
0713デフォルトの名無しさん2012/09/25(火) 22:51:52.54
>>712
付けないのが一般的です。
C++とluaを交互に触っていると、セミコロンを付けたくなる
0714デフォルトの名無しさん2012/09/25(火) 22:53:25.29
f:write(); f:flush(); f:close(); とかでなら使ってる
0715デフォルトの名無しさん2012/09/25(火) 22:59:50.83
改行しないなら付ける。改行の後に () があるなら付ける。それ以外は付けない
0716デフォルトの名無しさん2012/09/26(水) 01:39:39.36
>>713-715
一行中に複数文書かない限り、付けない方が一般的みたいですね。
ありがとうございます。参考になりました。
0717デフォルトの名無しさん2012/09/26(水) 02:12:11.43
可読性上がるからつける習慣は悪く無いよ
0718デフォルトの名無しさん2012/09/26(水) 03:35:04.81
行末にセミコロン付けた程度で可読性上がんねーよw
0719デフォルトの名無しさん2012/09/26(水) 08:16:12.24
エディタが末尾文字に色付けとかしてくれるなら見やすくはなる
末尾以外と同じ色やスタイルでの表示ならあまり意味を感じないな
0720デフォルトの名無しさん2012/09/26(水) 09:39:31.24
無くていいなら無くていい
0721デフォルトの名無しさん2012/09/26(水) 09:46:01.83
>>720
元レスの人は>>716で納得してるのになんでそんな発狂気味なレスをせずにはいられないの?
0722デフォルトの名無しさん2012/09/26(水) 10:07:25.86
>>721
付けなくてもいい言語なら、わざわざ付ける必要ないって事だと思うよ。
0723デフォルトの名無しさん2012/09/26(水) 10:25:14.66
統一されてればどっちでもいい
自分はC++に合わせてつけるけど
0724デフォルトの名無しさん2012/09/26(水) 10:43:29.50
一方phpはhtmlに合わせて統一をはかった
0725デフォルトの名無しさん2012/09/26(水) 11:50:38.85
AngelScript|Д`)<きたわよ
0726デフォルトの名無しさん2012/09/26(水) 12:06:46.71
C/C++の記法の特徴はポインタと副作用のある演算子だが
それを受け継ぎたいと本気で考えている人がいるだろうか
むしろポインタを無くして多重代入を追加したいのではないか
0727デフォルトの名無しさん2012/09/26(水) 12:17:39.17
なにそのカオスなレス
0728デフォルトの名無しさん2012/09/26(水) 12:22:56.26
>>722
>>720の意味を解説してくれなんて書いてないでしょ
0729デフォルトの名無しさん2012/09/26(水) 13:56:23.01
何が発狂なのか理解できん
0730デフォルトの名無しさん2012/09/26(水) 14:15:55.26
人の心は理解できないから機械的な仕様が重宝されるんだぜ
0731デフォルトの名無しさん2012/09/26(水) 16:36:10.34
>>729
質問してきた人以外も>>720の通りじゃないのが気に入らないってのが透けて見える
0732デフォルトの名無しさん2012/09/26(水) 23:47:48.73
>>718
バカ発見
0733デフォルトの名無しさん2012/09/27(木) 06:01:31.11
自分のやりやすいように書いたらいい
0734デフォルトの名無しさん2012/09/27(木) 20:59:09.61
>>719
末尾文字が色分けされるエディタなんて見たことないんだけど。
そんなもの存在すんの?
そもそも末尾文字を色分けして本当に見やすくなるの?
0735デフォルトの名無しさん2012/09/27(木) 21:41:54.34
LuaとSquirrelでスクリプト実行中に、
スクリプトを終了させるにはどうしたらいいのでしょうか?
Luaの os.exit を使うとプログラムごと終了してしまうし…。
mainでreturnすれば終了させる事は出来ますが、
この方法は関数中だと使えないという。
0736デフォルトの名無しさん2012/09/27(木) 22:02:56.86
相当曖昧な質問だな
0737デフォルトの名無しさん2012/09/27(木) 22:34:45.88
>>734
フォーカス中行のデリミタ強調なら珍しくもなんとも
0738デフォルトの名無しさん2012/09/27(木) 22:36:32.15
>>735
意味わからんから
まとめなおして
0739デフォルトの名無しさん2012/09/27(木) 23:00:28.40
>>735
error()
0740デフォルトの名無しさん2012/09/28(金) 06:45:23.16
>>735
関数がエラーを返したらメインでReturnすればいいやん
0741デフォルトの名無しさん2012/09/28(金) 12:18:25.85
>>735
コルーチンで動かしておいてとめたくなったらとめればいいんでないかい?
0742デフォルトの名無しさん2012/09/28(金) 12:38:07.27
>>735
例外使って最上位階層まで戻ってからreturnという手も
0743デフォルトの名無しさん2012/09/28(金) 19:09:17.69
local function f()
  coroutine.yield()
  print(3)
end
local function m()
  print(1)
  f()
end
local main = coroutine.wrap(m)
main()
print(2)
main()
0744デフォルトの名無しさん2012/09/30(日) 15:45:17.38
https://github.com/catwell/luajit-msgpack-pure
luajitでC実装のmsgpack共有ライブラリ込みまで実装し直したもの。
luajitさんは狂暴ね。
0745デフォルトの名無しさん2012/10/01(月) 02:48:13.34
>>734
おまえエディタはなにつかってんだよw

VCとヒデマルは色付けられるんだぜ。
0746デフォルトの名無しさん2012/10/01(月) 05:04:54.70
>>744
おー
luajitとmsgpackはmplua(MessagePack for Lua)で普通に使えてはいたけど
組み合わせてluajit寄りにして高速化でもしてるんかな?
助かるわー
0747デフォルトの名無しさん2012/10/01(月) 05:09:37.19
勘違い…luajit"で"実装かorz
0748デフォルトの名無しさん2012/10/01(月) 22:51:02.98
>>745
別に秀丸に限らず、高機能なテキストエディタやIDEは大体色の設定出来ると思うが。
初期設定で末尾文字の色を分けてるエディタなんて見たことないし、
わざわざ末尾文字の色を自分で設定して使ってる人も見たことない。
0749デフォルトの名無しさん2012/10/02(火) 01:37:02.01
>>748
末尾文字の末尾ってのは具体的に何を指してるの?
その点を明確にすれば誤解は解けると思う
0750デフォルトの名無しさん2012/10/02(火) 08:47:33.88
luajitのFFIでC呼ぶやつ(上のと速度は同じみたい)
https://github.com/catwell/luajit-msgpack

Lua汎用で拡張モジュールCで実装して高速化したやつもあるよ。
https://github.com/kengonakajima/lua-msgpack-native
0751デフォルトの名無しさん2012/10/02(火) 10:23:52.80
>>749
過去レスちょっと遡れば分かると思うんだが。
0752デフォルトの名無しさん2012/10/02(火) 10:28:20.89
>>749
セパレータ
0753デフォルトの名無しさん2012/10/03(水) 01:03:30.41
気がついたら誰も味方がいなくなってた。
信者みたいな読者だけしか残ってなかった。
それで意味なくヒステリックに攻撃してる。
終わった。完全に。
0754デフォルトの名無しさん2012/10/03(水) 01:07:43.40
>746-747
>750
0755デフォルトの名無しさん2012/10/04(木) 13:16:08.11
今sqratを使ってc++クラスとのバインドをやってるんですけど
下みたいなイベントコールバック用のインタフェースクラスをバインドしようとしてて

class Hoge
{
public:
void addListener( IListener* l ); // Hogeにリスナを登録しておくと勝手にhogeEventが呼ばれる
};

class IListener // 呼び出されるインタフェース
{
public:
virtual void hogeEvent( EventObject& e ) = 0; // これをオーバーライドして処理をする
};

squirrel側でもIListenerを継承してイベントが起きたらhogeEventという関数が
呼ばれるようにしたいのですが、どうバインドすればよいのか見当もつきません。

なにかやり方はありそうな気がするのですが、知恵遅れな自分
もうここの皆さまに頼ることしかできません…
0756デフォルトの名無しさん2012/10/04(木) 13:48:17.29
コールバックのバインドは原理的に不可能
明示的にC++側から呼び返しするしか無い

コンストラクタでvmを渡すような構造にして、そこでスタックの1番を参照すれば、
squirrel側のインスタンスを取得できるので、
それを弱参照で保持して、それを使って
自己メソッドコールするようにすれば良い
0757デフォルトの名無しさん2012/10/04(木) 14:15:00.00
馬鹿には無理
0758デフォルトの名無しさん2012/10/04(木) 15:25:50.82
>>756
詳しいですね^^
ありがとうございます♪

>>757
氏ね
0759デフォルトの名無しさん2012/10/04(木) 16:22:33.93
>>758
弱参照でもたないと永遠に解放されないオブジェクトになるから注意な
0760デフォルトの名無しさん2012/10/05(金) 02:19:19.06
コロンとセミコロンは色付けてるけどな。 自分が見たことないからってなんでも否定してたら
新しい発見がすべて自力の車輪の再発明になっちゃうじゃないか。
0761デフォルトの名無しさん2012/10/05(金) 07:28:46.23
そんな意味ない設定してんのお前だけだよ
0762デフォルトの名無しさん2012/10/05(金) 10:02:59.96
元々多数派少数派なんて話じゃなかったと思うのだが、なんで話すり替えてまで噛み付き続けるんだろ
コードスタイルどころかエディタ設定まで一緒じゃないと気が済まなくなってきたのか?
0763デフォルトの名無しさん2012/10/05(金) 10:29:41.28
タブ幅は同じにしておかないと共同開発ではストレスが溜まるな
07647552012/10/05(金) 21:58:46.11
困った。>>756の助言をもとにコールバック呼び出しができるようになったんだが
squirrel側のクラスの書き方が気に食わないことに…

class Hoge extends Native
{
callBack = function(e){} <- こうじゃないとsq_getできない
function callBack(e){} <- NG
};

メンバ関数の取得ってsq_getじゃダメなの?
0765デフォルトの名無しさん2012/10/06(土) 08:12:43.04
       //
     /  /   パカッ
     //⌒)∩__∩
    /.| .| ノ     ヽ
    / | |  ●   ● |     
   /  | 彡  ( _●_) ミ Lua!!
   /  | ヽ  |∪|  /_
  // │   ヽノ  \/
  " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ

07667552012/10/07(日) 00:49:15.69
自己解決。インスタンスじゃなくてクラスをプッシュすればよかったのね。
0767デフォルトの名無しさん2012/10/10(水) 15:44:29.13
Luaを初めてのプログラミング言語にしようと思います
参考書はテンプレにあるものでいいのでしょうか?
0768デフォルトの名無しさん2012/10/11(木) 20:17:45.05
ネットにも情報は載っているのに本なんて要るのか
0769デフォルトの名無しさん2012/10/13(土) 01:44:31.38
プログラミング初心者にはいいかもね。<書籍
0770デフォルトの名無しさん2012/10/13(土) 22:48:32.47
まとまった情報が欲しいときはネットより本の方が有用だぞ
0771デフォルトの名無しさん2012/10/13(土) 23:49:44.61
皆さんありがとうございます
テンプレの本を買うことにしてみます
0772デフォルトの名無しさん2012/10/14(日) 09:38:50.98
         \   l´⌒\⌒\ \\ \
           \ ヽ   )  )   \\ \\   
              (   \ \∩___∩ \\ 
           \   \  ⌒⌒| ノ      ヽ  \\      
              \ \   /  ●   ● ト、\ \\\ 
               \  Y |    ( _●_)  ミ\  \\\  
               \ / 彡、_  |∪| ノ   \  \\\
                 (____)―ヽノ' ヽ      ̄ ̄ ヽ\\
                                \,  j  l l .l }
                         Lua!   l (_ノノノノ

0773デフォルトの名無しさん2012/10/16(火) 00:52:30.39
AngelScript2.25.0で、C++側でSetDefaultNamespaceで名前空間変更した後関数を登録しようとすると、
自前で登録したクラスを引数や返り値にするとコンパイルエラーになるな…
0774デフォルトの名無しさん2012/10/18(木) 04:19:51.87
LuaとLLVMは仲間ですか?
0775デフォルトの名無しさん2012/10/18(木) 08:11:51.02
>>774
なんでそんな時間に釣りレスしようと思った?
お前に何があったんだ
0776デフォルトの名無しさん2012/10/18(木) 15:48:06.45
>>775
心の隙間です
0777デフォルトの名無しさん2012/10/19(金) 11:42:33.74
LuaJIT 2.0.0-beta11 が出てた 10/16
0778デフォルトの名無しさん2012/10/20(土) 01:01:24.31
LuaJIT2は忘れた頃に更新かかるな
最適化が進んでるようでなにより
0779デフォルトの名無しさん2012/10/30(火) 01:48:33.67
AngelScript|Д`)<AngelScript2.25.1記念カキコ
0780デフォルトの名無しさん2012/10/30(火) 02:18:01.42
        (´\r-、     ┼         +     /`/`)    +
     ┼   (\. \!              *     // ,/)  *
  +     * (ヽ、   \ +  *          /   /)   +
      ⊂ニ      )        *   +  (     ニ⊃
  *  +  ⊂、     (   ∩___∩   ノ     ⊃   +  *
         (/(/   ヽ  | ノ     ヽ /    、)ヽ)  ┼
    +        (/     ∨  ●   ●レ /⌒) 、)ヽ)
     *       (/'   |   ( _●_) ミ'  /、)、)´       +
         +    (/'ヽ 彡、   |∪| ノ /     AngelScript!!
     +            / __ヽノ  /  *      +
       ┼        (___) /      +
               /     /
               (_ ⌒丶..
                | /ヽ }.
                  し  ))
                    ソ  トントン
0781デフォルトの名無しさん2012/11/01(木) 01:46:58.21
773の問題を自己解決したんでメモ書きしておく。
ある名前空間で、グローバル名前空間にある自作クラスを使う場合は「::」を省略しちゃダメなんだな。
stringがグローバル名前空間に定義されてるとして、

lpEngine->SetDefaultNamespace("Test");
lpEngine->RegisterGlobalFunction("void Print(::string &in)", asFUNCTION(PrintString), asCALL_CDECL);
lpEngine->SetDefaultNamespace("");

こんな感じでいけた。

問題は、このネタが役に立つ人があんまり居ない気がする事だ。
0782デフォルトの名無しさん2012/11/01(木) 09:18:20.65
では、その問題解決に向けて尽力してください
0783デフォルトの名無しさん2012/11/01(木) 11:38:15.93
>>781
この問題はフォーラムかドキュメントのどこかで指摘されていたようないないような
0784デフォルトの名無しさん2012/11/03(土) 13:52:40.52
luaからsquirrelに移行して色々試してたんだけど、yieldで躓いてしまいました。
ジェネレータ関数'F'内から呼ばれる先の関数でyieldした場合に'F'を中断したいのですが、
そんな動作は可能でしょうか?
luaだとこの動作が出来てすごく楽だったのですが…
0785デフォルトの名無しさん2012/11/03(土) 18:27:02.82
         \   l´⌒\⌒\ \\ \
           \ ヽ   )  )   \\ \\   
              (   \ \∩___∩ \\ 
           \   \  ⌒⌒| ノ      ヽ  \\      
              \ \   /  ●   ● ト、\ \\\ 
               \  Y |    ( _●_)  ミ\  \\\  
               \ / 彡、_  |∪| ノ   \  \\\
                 (____)―ヽノ' ヽ      ̄ ̄ ヽ\\
                                \,  j  l l .l }
                         Lua!   l (_ノノノノ

0786デフォルトの名無しさん2012/11/03(土) 18:54:44.78
suspendすればいいです
0787デフォルトの名無しさん2012/11/03(土) 21:14:46.34
ありがとうございました! 希望通りの実装ができました!
0788デフォルトの名無しさん2012/11/10(土) 19:42:17.33
requireで上位フォルダへの指定ってどうすればいいの?
require("../lib/dumper")
とかって感じで指定したいんだが・・。

「.」が「\」と同じで解釈されちゃうんで、
no file '.\\\/lib/dumper.lua'
ってなってしまう。。
0789デフォルトの名無しさん2012/11/10(土) 21:44:03.00
requireはパスで検索じゃなくてモジュール名で検索って意味合いが強いから
その用途にゃ向かないと思うよ

package.preloadの__indexに独自ローダ仕込んだりも出来ないことはないけど
読み込むルートが決まってるならpackage.pathに'../lib/?.lua'とか追加するのがまっとうかと

モジュールとして扱う必要がなければdofileでも間に合うしね
0790デフォルトの名無しさん2012/11/12(月) 15:00:45.22
カレントディレクトリ以外の相対パスでのモジュール指定なんて
その意図自体が変なのでは
0791デフォルトの名無しさん2012/11/12(月) 15:17:56.54
http://www.luafaq.org/#T1.19
0792デフォルトの名無しさん2012/11/13(火) 01:50:06.56
遅くなってすいません。
そんなものなのですね。
把握しましった。

PJを横断するようなutil的なmoduleには、パス通すようにするかね。。
0793デフォルトの名無しさん2012/11/13(火) 02:04:27.44
あれ?
Luaってメソッド/関数のオーバーロードって出来なかったけ?
0794デフォルトの名無しさん2012/11/13(火) 02:05:47.12
大抵のスクリプト言語ではそう
0795デフォルトの名無しさん2012/11/13(火) 02:14:31.10
>>794
そうなのかー、ありがとう。
0796デフォルトの名無しさん2012/11/13(火) 09:57:58.08
Luajit2.0リリース!
0797デフォルトの名無しさん2012/11/13(火) 10:07:05.78
LJ!
0798デフォルトの名無しさん2012/11/17(土) 20:56:16.86
おい!スレッドクラスとバインドしたのにVMがマルチスレッド対応してないから落ちるじゃねーか!!!
クソファッキン!!!
0799デフォルトの名無しさん2012/11/18(日) 03:11:33.92
スレッドセーフのインターフェイスを自前で作るんだな
0800デフォルトの名無しさん2012/11/18(日) 12:46:59.66
SquirrelとかAngelScriptとかGameMonkeyとかはスレッドセーフなの?
0801デフォルトの名無しさん2012/11/18(日) 14:14:56.13
Luaもスレッドセーフだよ
0802デフォルトの名無しさん2012/11/18(日) 15:12:39.14
まずスレッドセーフとは何か定義してから話すんだ
0803デフォルトの名無しさん2012/11/18(日) 15:38:47.83
定義も何も開発者が自信を持ってそう語ってるよ。
ttp://lua-users.org/lists/lua-l/2011-07/msg00072.html
0804デフォルトの名無しさん2012/11/18(日) 17:00:38.96
定義が必要な範囲でしか語ってないじゃないか。
0805デフォルトの名無しさん2012/11/18(日) 18:28:33.13
そんな難しく考えずに普通に考えればいいやん。君はへりくつたれだねぇ。
一般的にいえばLuaはスレッドセーフなんだよ。
0806デフォルトの名無しさん2012/11/18(日) 18:52:53.15
>>803
英語読めないの?
0807デフォルトの名無しさん2012/11/18(日) 19:07:50.39
一つのLuaインスタンスに複数のスレッドから同時にアクセスしようとすると片方は待たされるってことでおk?
それともスレッドの数だけLuaインスタンス作れば好きなようにアクセスできるよってこと?
0808デフォルトの名無しさん2012/11/18(日) 20:03:42.35
後者だったと思う。
0809デフォルトの名無しさん2012/11/18(日) 20:05:25.47
あとはホスト言語から呼んだ時にホスト言語のグローバル変数を汚染しない
0810デフォルトの名無しさん2012/11/18(日) 20:34:42.35
Luaがメインでその上でマルチスレッドしたいという話ならこういうの使うのかな?
Lua/APR binding
http://peterodding.com/code/lua/apr
例: マルチスレッドなwebサーバー
http://peterodding.com/code/lua/apr/docs/#example_multi_threaded_webserver
0811デフォルトの名無しさん2012/11/18(日) 21:03:17.24
>>806
日本語読めないの?
それともLuaに負けたのが悔しいの?
0812デフォルトの名無しさん2012/11/18(日) 21:07:43.26
マルチスレッド対応のGUIウィジェットが欲しい
0813デフォルトの名無しさん2012/11/18(日) 21:12:07.83
         \   l´⌒\⌒\ \\ \
           \ ヽ   )  )   \\ \\   
              (   \ \∩___∩ \\ 
           \   \  ⌒⌒| ノ      ヽ  \\      
              \ \   /  ●   ● ト、\ \\\ 
               \  Y |    ( _●_)  ミ\  \\\  
               \ / 彡、_  |∪| ノ   \  \\\
                 (____)―ヽノ' ヽ      ̄ ̄ ヽ\\
                                \,  j  l l .l }
                         Lua!   l (_ノノノノ
0814デフォルトの名無しさん2012/11/18(日) 23:34:49.70
Comparisons to other threading kits
A short comparison of Lanes with other existing Lua multithreading kits.
http://kotisivu.dnainternet.net/askok/bin/lanes/comparison.html

色々あるみたいだが、、、
0815デフォルトの名無しさん2012/11/19(月) 00:21:18.58
どのスクリプト言語でも以下の対応すればマルチスレッドできるのだろうか?
・スタックをスレッドローカルオブジェクトにする
・複数のスレッドで一つの変数を操作したいときは普通に同期オブジェクトなどで同期をとる
2つ目のはsynchronizedブロックでできると素晴らしいな
0816デフォルトの名無しさん2012/11/19(月) 02:10:51.49
はたしてマルチスレッド対応する意味があるのか、をまず考えるべきだな
0817デフォルトの名無しさん2012/11/19(月) 07:17:25.32
知らないなら黙っててください
0818デフォルトの名無しさん2012/11/19(月) 14:54:48.06
corona sdkで以下のコードがあるのですが

local modname = ...
local themeTable = {}
package.loaded[modname] = themeTable

これってなにをしているのでしょうか?
0819デフォルトの名無しさん2012/11/20(火) 00:00:21.57
require(modname)とした時にthemeTableを返すよう設定している
何を意図してるのかはそれだけじゃわがんね
0820デフォルトの名無しさん2012/11/20(火) 00:03:59.19
>>818
Lua のマニュアルのローダーのところを読むといいよ
0821デフォルトの名無しさん2012/11/20(火) 08:30:15.66
すみません
0822デフォルトの名無しさん2012/11/20(火) 08:32:29.03
最近使ってるデータベースにluaという言語がのったのですが
使い方がよくわかりません
参考になるサイトとかありますか?
redisというデータベースです。
0823デフォルトの名無しさん2012/11/20(火) 08:50:51.12
釣りだな。
こんなスレを探すことはできるのにググれないはずがない。
それとも検索キーワードに2chと書く癖でもついてるのか?
0824デフォルトの名無しさん2012/11/20(火) 18:31:55.84
どのサイトがいいか質問するために日本語のコミュニティを探したってことだろう。
そこまではおかしくないと思うが、
テンプレ、このスレ、過去スレを読まずに質問する根性は 2ch では叩かれて当然。
優しくしてほしいなら知恵袋にでも行けばいい話で、わざわざ 2ch を選んだというのは叩いて欲しかったと考えるのが自然。
なるほど、確かに釣りのようだ。
0825デフォルトの名無しさん2012/11/23(金) 19:17:02.49
すいません
最近使ってるルーターにluaという言語があったのですが使い方がよくわかりません
参考になるサイトとかありますか?
ヤマハのルーターです
0826デフォルトの名無しさん2012/11/23(金) 19:52:29.63
>>822
http://redis.io/commands/eval
>>825
http://www.rtpro.yamaha.co.jp/RT/docs/lua/index.html
>>614
http://www.kumikomi.net/archives/2012/10/ep14mrb1.php
http://www.kumikomi.net/archives/2012/11/ep16mrb2.php
https://github.com/iij/mruby

ネタにマジれるカコイイ
0827デフォルトの名無しさん2012/11/23(金) 23:59:44.48
mrubyソースの量すでにLuaの三倍
しかもC++でのコンパイルには問題があるので
mruby自身の拡張にはboost使えない。
CRCとかPOOLとかなにげに組み込みで使いたいのにorz

ちなみにmrubyでできてLuaでできないことはほぼ無い。
即値がメソッドを呼べることぐらいか。 "abcdef".upcase()とかかな。
0828デフォルトの名無しさん2012/11/24(土) 00:29:23.12
スクリプトソースをプリプロセスして、マルチバイト文字を全部エスケープシークエンス化する、
ってのはどうなんだろうね。
0829デフォルトの名無しさん2012/11/24(土) 00:45:39.69
通過するようになるのは望ましくはあるけど
マルチバイト対応でもっとも面倒くさい作業である
正規表現エンジンの修正はエンコード依存だから改善しない。
コメントとか定数の読み込みなんてたいした作業じゃないからねぇ。
0830デフォルトの名無しさん2012/11/24(土) 01:58:58.05
UTF8を強力に推進していこうぜ!
0831デフォルトの名無しさん2012/11/24(土) 02:13:47.32
>>830
macを滅ぼしてから言ってくれ
0832デフォルトの名無しさん2012/11/24(土) 02:26:23.48
は?
0833デフォルトの名無しさん2012/11/24(土) 04:00:07.31
Squirrelでマルチスレッドって結構簡単なんだね。
sq_newthread使えば行けるわ。コツがいるけど
0834デフォルトの名無しさん2012/11/24(土) 04:49:39.24
base64で
0835デフォルトの名無しさん2012/11/24(土) 08:33:40.17
>>832
ボケでなくわからないの?
0836デフォルトの名無しさん2012/11/24(土) 08:46:03.71
説明どぞ
0837デフォルトの名無しさん2012/11/24(土) 09:22:51.50
mac-utf8でググれ。

youtubeでマカーがアップした動画のタイトルが閲覧環境によって間抜けなことになったり、
クラウド共有したファイルの名前がマカーに壊されたり...
mac対応がスニペットレベルで済んで共有されてるならいいんだが、現実はそうではないし。
0838デフォルトの名無しさん2012/11/24(土) 09:26:55.79
ひどいケースだとmacで編集されたコードを同じコンパイラの別osビルドが認識できない
テキストエディタ上は何の異常も無く見えるのでめんどくさい
0839デフォルトの名無しさん2012/11/24(土) 09:43:41.48
mac-utf8 が使われるのなんてファイル名くらいだろ。
ファイル名をコピペしてコードに入れたりしてるのか?w
0840デフォルトの名無しさん2012/11/24(土) 09:49:13.79
>>839
そんなシチュエーション無いけど実際起きてる現象なんで。
0841デフォルトの名無しさん2012/11/24(土) 09:54:46.27
NFD対応のために纏めた文字列正規化モジュールが悪さしてる可能性とか、無いわけじゃないと思う。
コンパイラだし。
0842デフォルトの名無しさん2012/11/24(土) 09:55:35.60
いや、エディタ側で挿入されてるのが問題なのか。
うーん。
0843デフォルトの名無しさん2012/11/24(土) 10:13:09.24
>>839
クリップボード通したら直ってると思うぞ
0844デフォルトの名無しさん2012/11/24(土) 10:23:33.95
>>843
いいや?
0845デフォルトの名無しさん2012/11/24(土) 10:25:40.15
>>840
838はお前の妄想だろ?
0846デフォルトの名無しさん2012/11/25(日) 00:05:38.46
>>845
特定ファイルがmacの人にUTF8で再セーブされるとwindows上でxbuild通らないんだもの。
妄想とかいわれても。
0847デフォルトの名無しさん2012/11/25(日) 00:59:11.70
UTF8は可変長なのをいいことに同じ文字に複数のバイト列を割り当てられるからな。

それでも他のコードよりはよほどいい。
0848デフォルトの名無しさん2012/11/25(日) 07:06:41.48
macのかちー
0849デフォルトの名無しさん2012/11/25(日) 18:14:06.87
てか、Windows がバカすぎるんだから、
未だに Windows なんか使っているやつの気がしれない。
一生 CP932 でやってろと思う。
0850デフォルトの名無しさん2012/11/25(日) 19:23:05.24
macの奴のやってることの方が正しいやん
0851デフォルトの名無しさん2012/11/25(日) 19:50:44.11
2chのUTF-8化はまだですか
0852デフォルトの名無しさん2012/11/25(日) 21:43:50.68
ぶっちゃけWindowsが優れているから使っているわけではない。
セキリティ保護コンテンツとネットゲの縛り。
Linuxで動作するなら明日にでもそっちに移行しますがなw

VisualC++は無料版にランタイムのEULA.txt同梱しないとか卑劣すぎ
0853デフォルトの名無しさん2012/11/26(月) 07:01:02.81
動作するよ
0854デフォルトの名無しさん2012/11/26(月) 10:37:17.88
結局のところ、文字列プリプロセスやろうとすると、環境ごとに専用のを用意しないとダメって事?
0855デフォルトの名無しさん2012/11/26(月) 19:48:55.70
>>853

PSO2動くのかい?
エミュレーターなら性能が出ないのでパス。
0856デフォルトの名無しさん2012/11/26(月) 19:54:17.07
>>854
プリプロセッサで対処できるのは定数とコメントだけでしょ?
数値計算だけならそれでよいけど
パス名の処理、パターンマッチング、
ストリームI/Oの改行の扱い、curses、
それらひっくるめての対応を望むなら
内部処理のUCS化、
またはエンコードごとの対応が必要でしょう。
0857デフォルトの名無しさん2012/11/26(月) 20:38:26.34
>>856
ひっくるめてしまうとCの問題になるよね
Cが対応すればLuaも対応するし、Cが対応しなければ現状維持
0858デフォルトの名無しさん2012/11/27(火) 07:44:53.56
>>850
monoとかjavaのコンパイラに通すならutf16にするのがマナーだから正しくない
0859デフォルトの名無しさん2012/11/27(火) 08:05:06.83
utf8が唯一正しい方法だろ
0860デフォルトの名無しさん2012/11/27(火) 08:20:36.08
>>859
webとcの世界しか知らない奴は黙れよ
0861デフォルトの名無しさん2012/11/27(火) 12:43:01.03
EBCDIC最強ですねわかります
0862デフォルトの名無しさん2012/11/28(水) 01:18:03.97
>>861
jclで起動してvsamつくります
0863デフォルトの名無しさん2012/11/28(水) 01:19:17.65
すまん
仕事では未だにcobolなんだ、、、
0864デフォルトの名無しさん2012/11/28(水) 12:35:47.80
luaってiPhoneで動くの?
0865デフォルトの名無しさん2012/11/28(水) 13:41:01.84
iLuaってのがあったな
0866デフォルトの名無しさん2012/11/29(木) 00:04:30.45
cobolにluaは組み込めますか?
0867デフォルトの名無しさん2012/11/29(木) 02:14:40.00
OpenCOBOLなら
ランタイム側へ組み込んでインターフェースごにょごにょで可能だろうね。
0868デフォルトの名無しさん2012/11/29(木) 23:28:28.20
http://www.lua.org/wshop12.html
ベリサインのHQで開催だって
プログラミングも18本もある
去年から国際的な形になってやってるのかな?
用途も随分ひろがりんぐ

erlang上のLuaVMのプログラムがある、、
最近少しづつ勢力拡大しているLuaJITでFFIばりばりというプログラムはないようだ。
http://wiki.luajit.org/
0869デフォルトの名無しさん2012/11/30(金) 00:12:17.99
python組み込めますか?
0870デフォルトの名無しさん2012/11/30(金) 06:52:14.24
>>846
それmac-utf8全然関係ない話じゃん……
何度も言うが、mac-utf8 が Mac で使われてるのはファイル名位なんだから。
0871デフォルトの名無しさん2012/11/30(金) 07:58:41.70
SHELLがutf8なのをもって「位」とかおかしいだろ
0872デフォルトの名無しさん2012/11/30(金) 08:15:44.69
>>870
mac以外の同じエディタでutf8保存しても平気なんだけど
(どの環境でも、winでよくあるbom付きutf8にはせず保存)
0873デフォルトの名無しさん2012/11/30(金) 08:23:24.87
>>864
勿論動く。
ipadだと簡単なゲームを作れるアプリもある。
luajitはjitせずバイトコードインタプリタで動く。
0874デフォルトの名無しさん2012/11/30(金) 08:32:46.02
>>864
勿論動く。
ipadだと簡単なゲームを作れるアプリもある。
ios上の制限から、luajitはjitせずバイトコードインタプリタで動く。
0875デフォルトの名無しさん2012/12/06(木) 11:02:29.13
もうluaはオワコン?
0876デフォルトの名無しさん2012/12/06(木) 11:41:28.79
重量言語が順調に続いているから軽量言語の出番がないよね
0877デフォルトの名無しさん2012/12/06(木) 11:43:33.92
どうしてそう思うの?
0878デフォルトの名無しさん2012/12/06(木) 17:27:00.60
         \   l´⌒\⌒\ \\ \
           \ ヽ   )  )   \\ \\   
              (   \ \∩___∩ \\ 
           \   \  ⌒⌒| ノ      ヽ  \\      
              \ \   /  ●   ● ト、\ \\\ 
               \  Y |    ( _●_)  ミ\  \\\  
               \ / 彡、_  |∪| ノ   \  \\\
                 (____)―ヽノ' ヽ      ̄ ̄ ヽ\\
                                \,  j  l l .l }
                         Lua!   l (_ノノノノ
0879デフォルトの名無しさん2012/12/06(木) 17:53:33.34
一般のユーザーの目の見えないところでひっそりと動いています。
意外なところで動いています。
表の世界には出てこないゴルゴさん
0880デフォルトの名無しさん2012/12/06(木) 22:24:16.95
ルータなんかでも組み込まれてるね
0881デフォルトの名無しさん2012/12/06(木) 22:26:24.84
yamahaルータさん
0882デフォルトの名無しさん2012/12/06(木) 23:25:27.15
Vine6のapt(ネットワーク更新ソフト)がLuaと依存関係あるみたい。
ヘルプに出てこないけどこっそり使ってるかも。
0883デフォルトの名無しさん2012/12/13(木) 20:33:57.42
AngelScript|Д`)<ちょっと遅くなったけどAngelScript2.25.2記念カキコ&nbsp;
0884デフォルトの名無しさん2012/12/13(木) 23:18:58.62
パイソンで良くね?
なんで日本人はパイソン使わないの?
0885デフォルトの名無しさん2012/12/14(金) 00:37:23.09
一応使うけど
初心者を優遇するから、がんばって上級者になるメリットが少ない
0886デフォルトの名無しさん2012/12/14(金) 06:22:35.72
Luaはしゃぶればしゃぶるほど味が出るな
0887デフォルトの名無しさん2012/12/14(金) 09:02:11.78
しゃぶれよ
0888デフォルトの名無しさん2012/12/15(土) 19:38:05.40
PythonではなくLuaを使うメリットを上げると
・組み込みサイズが小さい。Pythonの1/5〜1/10くらい。
・ガベコレのON、OFFができる。
・JITでかなり速い。非JITでもPyより速い。
・デフォで基本ライブラリをカットできる。

こんなとこかね
0889デフォルトの名無しさん2012/12/17(月) 20:51:50.43
そもそもPythonは組み込み簡単なのかな。
0890デフォルトの名無しさん2012/12/22(土) 19:06:09.49
組み込み型はluaで必要十分だな。
lua以外を選択する奴はluaの偉大さに気づいておらずかわいそう。
0891デフォルトの名無しさん2012/12/23(日) 22:55:21.04
Lua5.2 リファレンスマニュアルの翻訳を、
Windowsヘルプ(.chm)に変換して公開しました。

http://mynickname.web.fc2.com/
0892デフォルトの名無しさん2012/12/24(月) 00:16:06.46
>>889
適当に組み込むなら簡単だね
情報多いし、SWIGもあればBoost.Pythonもあるわで最強クラス
でも、真面目に組み込むとなると結構大変だよ
まず参照カウントの管理がついて回るので面倒この上無い
あとはPythonに限ったことじゃないけど
"組み込みも出来るよ"程度のスタンスの言語は
インタプリタがメモリリークしてる事が多いんだよね
これがつらい
valgrindなどで見なかったことにしようってな事になるんだけど
そのフィルタを掛けるのには当然その言語への理解が必要不可欠なので
軽々しく使えるものではないんだな
Pythonの言語仕様の大きさを考えても、決して簡単だと言えるものではないと思う
0893デフォルトの名無しさん2012/12/24(月) 06:03:31.94
全然そんなことないよ。
もしそうならとっくに大問題になってるしな。
基本的な何かが間違ってんじゃね?
0894デフォルトの名無しさん2012/12/24(月) 12:27:04.64
オブジェクト指向の言語は
基本的な型とユーザー定義型を分離しないから
ユーザー側のミスでもインタプリタ本体が連帯責任になる場合があるんじゃないか
0895デフォルトの名無しさん2012/12/24(月) 22:59:57.51
AngelScript|Д`)<オブジェクト指向と聞いて飛んできたわよ
0896デフォルトの名無しさん2012/12/24(月) 23:59:07.79
関数型が使えるスクリプト言語ってLuaだけ?
0897デフォルトの名無しさん2012/12/25(火) 02:09:53.31
スクリプト言語だと珍しくない機能だと思う。
Wikipediaで第一級関数を検索すればいくつか出てくるぞ
0898デフォルトの名無しさん2012/12/25(火) 02:29:32.04
そこに書いてなくてここ的に関係ありそうなスクリプト言語だと、SquirrelとXtalでも使える。
AngelScriptは関数ポインタはあるみたいだけど、これは違うよね・・・
0899デフォルトの名無しさん2012/12/28(金) 20:53:10.44
   ∧_∧  / ̄ ̄ ̄ ̄
  ( ・∀・) <  Lua!!
⊂/  9)  \____
q(   /
  >  >
0900デフォルトの名無しさん2013/01/04(金) 09:36:46.15
AngelScript|Д`)ノ<あけおめ
0901デフォルトの名無しさん2013/01/04(金) 10:12:48.51
       //
     /  /   パカッ
     //⌒)∩__∩
    /.| .| ノ     ヽ
    / | |  ●   ● |     
   /  | 彡  ( _●_) ミ Lua!!
   /  | ヽ  |∪|  /_
  // │   ヽノ  \/
  " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
0902デフォルトの名無しさん2013/01/06(日) 23:03:51.17
質問です
Squirrelのrand()の範囲指定が分かりません

リファレンスには
returns a pseudorandom integer in the range 0 to RAND_MAX
と書かれてるので
RAND_MAX = 30;
と値を代入してちゃんと代入されてるのもLogで確認したんですが
rand();
を使っても4桁や5桁の数字が出てきます
0903デフォルトの名無しさん2013/01/07(月) 01:31:12.97
自己解決しました
自分で範囲乱数の関数を作らないと駄目だったのね
0904デフォルトの名無しさん2013/01/17(木) 12:09:04.62
mrubyもLuaみたいなもんなのかな?
0905デフォルトの名無しさん2013/01/17(木) 16:53:33.98
Luaの疑似クラスでメンバ関数内でメンバ変数使う時に
self.を省略させる方法はないのでしょうか。
0906デフォルトの名無しさん2013/01/18(金) 18:36:01.38
local self = {mem="ber"}

local g = _G; g.setfenv(1, self) -- 5.1
-- local g = _ENV; local _ENV = self -- 5.2

g.print(mem)
0907デフォルトの名無しさん2013/01/18(金) 19:20:27.47
すみません、説明が足りなかったようです。
下記のようにした時に getParam メンバ関数内で使っている
self.x メンバ変数を「self.」を使わないようにという事です。
C++ や Squirrel では this. みたいなのは省略出来るので、
Lua でも省略出来ないのかなと。

Ando = {};
function Ando.new()
return {
x = 1,
getParam = function(self)
return self.x;
end
}
end
0908デフォルトの名無しさん2013/01/18(金) 19:44:24.05
>>907
selfを省略するためにwithを使ってみた (Lua 5.1)
function with(e, f) return setfenv(f, e)() end

-- return self.x
return with(self, function() return x end)
0909デフォルトの名無しさん2013/01/18(金) 20:39:19.65
なるほど…どうしてもそういうトリッキーなやり方になってしまうのですね。
ありがとうございました。
0910デフォルトの名無しさん2013/01/18(金) 22:02:11.34
selfを省略するとself.x()とself:x()の違いがわからない
関数とメソッドを共存させるのは難しい

どっちか絶滅すればよいのに
0911デフォルトの名無しさん2013/01/19(土) 20:48:48.07
アプリケーションの機能の一部を
本体に組み込んだ言語のスクリプトで実装していて機能的に本体と不可分の場合
スクリプトファイルってどこに置く?

Windowsなら本体と同じ場所でいいかなと思うけど
Linuxの場合はlibにアプリケーションのディレクトリ作って入れる?
そもそも本体バイナリに埋め込む?
0912デフォルトの名無しさん2013/01/19(土) 21:58:00.11
インストール先のどこかに入れるに一票。
インストール先は固定値にするか、環境変数で指定させるか、起動用コマンドが
スクリプトになっててその中に指定してある(インストール時に埋め込む)とか。
0913デフォルトの名無しさん2013/01/19(土) 23:25:36.22
zipに入れる
0914デフォルトの名無しさん2013/01/19(土) 23:30:00.16
頭の中に置く
0915デフォルトの名無しさん2013/01/20(日) 13:03:21.04
>>913
そのzipはどこに置くの?
0916デフォルトの名無しさん2013/01/20(日) 23:17:04.29
>>911
自作プログラムは/usr/localの下に置くのが
UNIX系のならわし。
Linuxでもインストール時にはこの下を
空にしているパターンが多い。

実行ファイル
/usr/local/bin/appname

設定ファイル
/usr/local/etc/appname.profile.lua
こんな感じにしてる。
0917デフォルトの名無しさん2013/01/21(月) 06:44:05.23
勝手に自作と決め付けられてもなぁ
0918デフォルトの名無しさん2013/01/22(火) 00:38:10.45
最近は /opt じゃね
0919デフォルトの名無しさん2013/01/22(火) 01:00:23.25
aptとかで入らないけど有名どこのやつは/opt
マイナーなやつと自作は/usr/local
0920デフォルトの名無しさん2013/01/22(火) 10:06:20.58
Linuxってログインアカウント一つしかないの?
0921デフォルトの名無しさん2013/01/22(火) 13:52:06.86
なぜそう思ったのか。
0922デフォルトの名無しさん2013/01/22(火) 17:37:18.70
あれだ、他人から見えない場所に置きたければ
どこにおいても自由w
/home/MYNAME/binでいいしょ?
0923デフォルトの名無しさん2013/01/22(火) 18:53:13.51
/tmp がオヌヌメ
0924デフォルトの名無しさん2013/01/23(水) 00:06:52.39
大切なものは、目に見えない

大切なスクリプトは
/dev/null
に書こう
0925デフォルトの名無しさん2013/01/23(水) 18:02:22.40
大事なときに、スカウターが故障する
0が見えるんじゃなくて故障する
0926デフォルトの名無しさん2013/02/11(月) 19:38:49.10
ちょっと教えてくれ。
requireでロードできるモジュールを動的ライブラリじゃなくてホストアプリから提供したい場合、
package.preloadに自分のluaopen_*を登録しとけばいいの?
0927デフォルトの名無しさん2013/02/11(月) 21:18:21.52
luaL_dostring(L, "function hoge() ... end");
でいいんじゃないのん?
0928デフォルトの名無しさん2013/02/11(月) 21:45:46.88
いや、やりたいのはCで書いたモジュールがrequireでロードされるように
したいということなんで。
Programming in LuaにはluaL_registerで有無を言わせず登録するか
動的ライブラリにする方法しか書いてなかったから。
0929デフォルトの名無しさん2013/02/11(月) 22:01:51.83
>>926
去年書いた require 関数のラッパーによると・・・合ってると思う
0930デフォルトの名無しさん2013/02/11(月) 23:07:12.75
サンクス。明日試してみるよ。
0931デフォルトの名無しさん2013/02/16(土) 16:25:37.66
Luaデバッガ/IDEの「Decoda」がオープンソースに
http://sourceforge.jp/magazine/13/02/14/2355208
0932デフォルトの名無しさん2013/02/16(土) 19:04:02.79
ぅあああああ
0933デフォルトの名無しさん2013/02/17(日) 01:40:35.52
>>931
情報サンクス!嬉しいぜ
0934 忍法帖【Lv=2,xxxP】(1+1:5) 2013/02/17(日) 07:20:41.30
thx!
0935デフォルトの名無しさん2013/02/18(月) 10:17:00.13
AngelScript|Д`)<AngelScript2.26.0記念カキコ
0936デフォルトの名無しさん2013/02/18(月) 18:24:26.73
>>935
遅いよ!
0937デフォルトの名無しさん2013/02/18(月) 18:47:45.36
AngelScriptのnative calling conventionは色々なCPUに対応しているけど
メジャーな物で動かないプラットフォームってあるの

X86
SH4
MIPS
PPC
PPC_64
XENON
ARM
X64

Windowsはx86かx86_64(Windows8だけARM版もあるらしい)
MacはPowerPCとx86,x86_64
Xbox 360はXENON
PS VitaはARM
Androidスマホ・タブレットは殆どARM
iPhone・iPadはARM

動かないの無くね?
WiiU、3DSやPS3は個人じゃ開発できないから俺には関係無さげ
0938デフォルトの名無しさん2013/02/18(月) 18:51:31.81
メジャーどこだけ抑えればいいなら、x86/x64とARMに対応しておけば平気だな
0939デフォルトの名無しさん2013/02/18(月) 22:55:34.41
NetBSDカーネルモードでLuaサポート?
どんなメリットあるんだろ
0940デフォルトの名無しさん2013/02/18(月) 23:04:43.80
C++サポートより簡単そう
0941デフォルトの名無しさん2013/02/19(火) 01:24:56.81
PolKitをLL言語にしたらスゴイコンパクトになる予感
0942デフォルトの名無しさん2013/02/21(木) 04:44:27.19
LuaJIT 2.0.1 has been released してる
0943デフォルトの名無しさん2013/02/21(木) 19:32:28.80
速いな
0944デフォルトの名無しさん2013/02/21(木) 22:12:06.44
Lua5.2のluaL_setfuncsのように上位値を共有するC関数って
5.1で作ることはできないんでしょうか?
0945デフォルトの名無しさん2013/02/23(土) 15:39:06.60
ついにAngelScriptでも複数のテンプレート型を使えるようになった

SourceForge.net Repository - [angelscript] Revision 1560
http://angelscript.svn.sourceforge.net/viewvc/angelscript?revision=1560&;view=revision
0946デフォルトの名無しさん2013/02/23(土) 21:02:42.09
でかいな
0947デフォルトの名無しさん2013/02/23(土) 23:03:59.84
Topaz(PyPyというかRPythonでRuby)の例なんかを見ると
Lua(LuaJIT)で他の言語の実装というのもありなんじゃ?と思う
実際どうなんだろ
0948デフォルトの名無しさん2013/02/24(日) 18:51:33.23
作って実証すればいいじゃなーい
0949デフォルトの名無しさん2013/02/25(月) 01:31:19.50
LuaJITで他の言語を実装するメリットがあるほど、LuaJITが移植された(メンテも継続されている)
プラットフォーム数が、実装したい言語の対応プラットフォームより多くないと無意味じゃね?
0950デフォルトの名無しさん2013/02/26(火) 01:22:40.32
LuaJITVMでは、luaVMで動くmetaluaが動かないなど、そこらへんの支援はLuaより減ってそうに見える。

pythonの場合はファイルの拡張子でパーサ切り替えたり、バイトコードの変換が出来たりするみたい。
http://docs.python.jp/2.7/library/dis.html#python

JVMの場合はPythonより大変なんだろうけど、ASMという動的にバイトコード生成するツールがあるので、前より作り易くなってるらしい。
http://www.ibm.com/developerworks/jp/java/library/j-cwt05125/
0951デフォルトの名無しさん2013/02/26(火) 06:32:18.11
いつのまにかVLCにLuaが組み込まれてんのな
0952デフォルトの名無しさん2013/03/01(金) 18:55:08.84
JythonでPythonのソースコードをJavaのバイトコードに変換
→Dalvik用のバイトコードに変換
としたらPythonでAndroidアプリが書けるのか

JVMで動くスクリプト言語はあるが
どれもJavaでパーサーを書いているっぽい
新たなスクリプト言語をJVMで動くようにしようと思ったら大変そうだ

Flash C++ Compilerは、llvm-gccで一旦LLVM IRに変換してから
再度ActionScriptのバイトコードに変換してるらしい
Emscriptenも似た感じ
こちらは、LLVM IRを逆アセンブルする必要があるか
0953デフォルトの名無しさん2013/03/01(金) 18:57:13.67
いや、llvmを使って変換する時必要なのはllvm-gccのカスタムバックエンドか
0954デフォルトの名無しさん2013/03/02(土) 08:08:59.71
Awesome window manager って Luaが組み込まれてんのな
0955デフォルトの名無しさん2013/03/02(土) 13:52:59.49
これか…
http://julien.danjou.info/blog/2011/why-not-lua
0956デフォルトの名無しさん2013/03/02(土) 14:36:49.59
俺もLuaは好きになれない
これ見るとLuaの長所はフットプリントが小さいって所だけじゃないか
0957デフォルトの名無しさん2013/03/02(土) 14:40:44.34
>>955
そもそも埋め込みがいいとは限らないとか言う時点で・・・
0958デフォルトの名無しさん2013/03/02(土) 14:42:04.31
llex.cとlparser.c、lcode.cので
0959デフォルトの名無しさん2013/03/02(土) 14:56:26.66
>>955
Lua5.2にメジャーアップデートする前の約2年前の記事だし
その人が過去に指摘した問題点も5.2で改善されてたりするしなぁ
0960デフォルトの名無しさん2013/03/02(土) 17:34:42.97
Luaは使えば使うほど味が出るスルメのようなもの。
つまり使わない(使えない)奴には一生良さは分からない。
0961デフォルトの名無しさん2013/03/02(土) 17:38:56.52
スルメのようなものって便利な言葉だな
0962デフォルトの名無しさん2013/03/02(土) 18:00:57.18
そもそもLuaは組み込み用言語。
つまり馬鹿が組んだプログラムにが組み込んでも馬鹿なままなんだよ。
0963デフォルトの名無しさん2013/03/02(土) 18:15:46.47
「もしかしてこの料理にスルメを入れたら合うんじゃないか・・・?」
0964デフォルトの名無しさん2013/03/02(土) 19:00:23.95
「う〜ん、いいスメルだ」
0965デフォルトの名無しさん2013/03/02(土) 19:18:19.29
この世の全てはスルメのようなものとバールのようなもので出来ている
0966デフォルトの名無しさん2013/03/02(土) 20:16:57.01
Luaは、python,rubyみたいなall in oneで外部ライブラリもすぐ追加出来る言語ではないね。
言語とライブラリが単純で拡張性は高いが、必要な外部ライブラリもそれなりにという程度。
どちらかというと、schemeや一時期のjsみたいに自分で成長させる環境かな。
0967デフォルトの名無しさん2013/03/02(土) 20:40:35.00
自分のアプリを制御するための言語としては
コンパクトで良いと思うけどねぇ
0968デフォルトの名無しさん2013/03/02(土) 21:32:27.30
mのつかないrubyのようにOpenSSLとか膨大なライブラリを抱えると
ビルドが複雑化して組み込み用としてはめんどくさい。
まぁ、不要なものは取捨選択できるとしても、
ドキュメント読んだり無駄な作業を増やす。
0969デフォルトの名無しさん2013/03/02(土) 21:39:35.13
自分も、ライブラリを組み込むだけで使える手軽さと組み込みに関する
情報量の多さからLuaにした。
本当は言語としてはマイナーなLuaよりJavaScriptとかの方がよかったけど、
なかなか替わりになるようなものがないよねぇ。
0970デフォルトの名無しさん2013/03/03(日) 00:14:54.19
luaの日本語サイトでナンノコッチャって感じだったが
lua-users覗いたら一発で氷解したわ。
英語スラスラ読める奴が羨ましいわ。
0971デフォルトの名無しさん2013/03/03(日) 00:25:31.78
日本語訳に変なとこがあるからな・・・
0972デフォルトの名無しさん2013/03/03(日) 20:46:20.61
AngelScript|Д`)<英語マジおすすめ
0973デフォルトの名無しさん2013/03/03(日) 21:03:01.49
静的型付け言語のスクリプト言語って少なくね?
動的型付けのものが多いイメージ
0974デフォルトの名無しさん2013/03/03(日) 23:46:02.66
JSXとかHaxe(ただし動的型も使用可能)とか……
0975デフォルトの名無しさん2013/03/03(日) 23:55:39.91
Konohaを忘れてた
0976デフォルトの名無しさん2013/03/04(月) 10:10:30.04
AngelScript|Д`)<静的型付け言語と言えば
0977デフォルトの名無しさん2013/03/04(月) 13:22:26.01
typescriptも。
0978デフォルトの名無しさん2013/03/05(火) 00:47:00.64
AngelScript Version 2.26.1 - 2013/03/02
0979デフォルトの名無しさん2013/03/05(火) 06:45:22.62
ポインタが理解できないとかスタックが理解できないとか
いってるような奴はそもそもプログラマとしての基礎が
なってないか素質がないんだよ。
0980デフォルトの名無しさん2013/03/05(火) 10:22:03.61
急にどうした。
0981デフォルトの名無しさん2013/03/05(火) 11:01:31.84
Lua6.0では待望の
0982デフォルトの名無しさん2013/03/06(水) 00:24:18.39
Lua は今年で20周年なのか
0983デフォルトの名無しさん2013/03/06(水) 08:15:12.78
ポインタ理解しようとするとメモリの構造解析から始めないとw
ブラックボックス化することで汎用性を広げてるのにわざわざCに回帰かよw
ポインタ理解しようと思ったらそれだけで数冊の文献消化せんとアカン。
0984デフォルトの名無しさん2013/03/06(水) 08:20:17.06
↑プログラマに向いてない奴のよい例@
0985デフォルトの名無しさん2013/03/06(水) 08:22:39.54
文献w
0986デフォルトの名無しさん2013/03/06(水) 08:26:09.15
ポインタは基礎科目にいれずに専門分野にせんと裾野は広がらんよ。
0987デフォルトの名無しさん2013/03/06(水) 08:33:43.08
「メモリの構造解析から」といってる時点で既にずれてるもんな
0988デフォルトの名無しさん2013/03/06(水) 08:34:32.82
元々アセンブラから入ったので、Cのポインタで悩む場所が分かりません。
0989デフォルトの名無しさん2013/03/06(水) 08:37:22.70
そもそもポインタなんて日常的概念だしな。
ある店の位置を住所で示したりするわけだし。
0990デフォルトの名無しさん2013/03/06(水) 09:09:28.73
店の位地程度の認識なのかw
0991デフォルトの名無しさん2013/03/06(水) 09:24:14.96
アドレスを指す変数なんだから、"概念"としてはあってるんじゃないのかな。
0992デフォルトの名無しさん2013/03/06(水) 09:33:21.39
それじゃアドレスの説明でポインタじゃないだろ。
0993デフォルトの名無しさん2013/03/06(水) 09:35:02.33
家の大きさを加算すると隣の住所が分かったり
隣の住所と引算して家の大きさを求めたり
住所がポインタ並だったらちょっと便利そう…?
0994デフォルトの名無しさん2013/03/06(水) 09:41:54.13
メモリを知らずにポインタて
0995デフォルトの名無しさん2013/03/06(水) 10:44:45.50
おもいっきりスレ違いで盛り上がれるなんて
きっと自演なんだろうけど埋めついでに

ポインタの概念自体は大して複雑でも面倒でもない
Cの言語仕様がポインタをわかり難い物にしているだけ
0996デフォルトの名無しさん2013/03/06(水) 12:50:48.44
概念でコード組めるならDQNでも組めるだろ。
0997デフォルトの名無しさん2013/03/06(水) 13:12:17.81
DQNに概念なんてあるわけないだろ
0998デフォルトの名無しさん2013/03/06(水) 13:24:43.86
この辺で話題転換にいつものAAでも
0999デフォルトの名無しさん2013/03/06(水) 13:38:56.72
AngelScript|Д`)<更新早いよ!
1000デフォルトの名無しさん2013/03/06(水) 16:43:09.92
うんこなう
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。