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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
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/
2デフォルトの名無しさん:2011/11/12(土) 11:05:09.62
3デフォルトの名無しさん: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/
4デフォルトの名無しさん:2011/11/12(土) 12:49:25.37
おひさー
5デフォルトの名無しさん: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で未実装で実装されたら凄いことになりそうだけど、
今の速度なら実質同じような事できてるのかも。
6デフォルトの名無しさん:2011/11/12(土) 23:06:19.27
AngelScript|Д`)<新スレ乙
7デフォルトの名無しさん:2011/11/13(日) 12:12:17.79
>>6
前スレもそうだったけどAngelScriptの話題がなぜ定期的に挙がるんだww
8デフォルトの名無しさん:2011/11/13(日) 12:13:54.77
あ、スマンLuaとSquirrelだけのスレかと思ったら組み込み系全般のスレだったか。
ネタで書き込んでたのかと思ってたw勘違いスマン
9デフォルトの名無しさん:2011/11/13(日) 15:57:38.16
http://attractivechaos.github.com/plb/
js,lua,pyのJIT実装は世界が違ってきてる・・・
10デフォルトの名無しさん:2011/11/13(日) 18:29:34.06
         \   l´⌒\⌒\ \\ \
           \ ヽ   )  )   \\ \\   
              (   \ \∩___∩ \\ 
           \   \  ⌒⌒| ノ      ヽ  \\      
              \ \   /  ●   ● ト、\ \\\ 
               \  Y |    ( _●_)  ミ\  \\\  
               \ / 彡、_  |∪| ノ   \  \\\
                 (____)―ヽノ' ヽ      ̄ ̄ ヽ\\
                                \,  j  l l .l }
                         Lua!   l (_ノノノノ

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

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

luaで

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

26デフォルトの名無しさん:2011/11/23(水) 12:46:04.39
string.format
27デフォルトの名無しさん:2011/11/24(木) 04:11:32.55
>>661
論外。強者なら普通にやれる
28デフォルトの名無しさん:2011/11/24(木) 04:11:59.76
すまんスレ間違えた
29デフォルトの名無しさん:2011/11/24(木) 05:07:34.76
>>26
ありがとうございました。
30デフォルトの名無しさん:2011/11/24(木) 15:58:45.40
リリースビルドした実行ファイルから文字列変換(..とtostring)を実行すると
テーブルがぶっ壊れるという現象に遭遇した
31デフォルトの名無しさん:2011/11/24(木) 23:25:06.93
>>30
あんたのコードにバグがある。
32デフォルトの名無しさん:2011/11/26(土) 00:29:57.63
>>30
論外。強者なら普通にやれる
33デフォルトの名無しさん:2011/11/26(土) 10:53:08.52
javascriptをCに組み込んで使いたいんだけど、そういうライブラリ知りませんか?
商用利用だとライセンス的に問題があるのかな
34デフォルトの名無しさん:2011/11/26(土) 11:08:01.24
SpiderMonkeyぐらいしか知らないなぁ
ただでさえ面倒なJSなのにCという縛りは辛いからお勧めはしない
35デフォルトの名無しさん:2011/11/26(土) 11:12:39.43
Win環境ならJScriptもあるな
さらに面倒だけど
36デフォルトの名無しさん:2011/11/26(土) 11:53:35.91
そうですか…
デザイナーに習得させるためのコストがゼロなのでJavascriptが良かったんだけど
別の言語探してみます
37デフォルトの名無しさん:2011/11/26(土) 13:08:11.90
念のため聞くけど、C縛り?C++は駄目?
38デフォルトの名無しさん: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
39デフォルトの名無しさん:2011/11/26(土) 13:56:23.15
>>37
条件が曖昧でしたね、C縛りではありません
CまたはC++で、Visual C++ でビルドします
40デフォルトの名無しさん: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 は良く知らない
41デフォルトの名無しさん:2011/11/26(土) 20:05:39.52
luaでC++のSTLやBoostみたいなサブルーチン集みたいなのないの?
42デフォルトの名無しさん:2011/11/26(土) 21:37:58.39
そういうこと言う人はC++を普通に使っといたほうが幸せだぞ
43デフォルトの名無しさん:2011/11/26(土) 22:28:33.72
まあJavascript組み込むならV8が無難だろうね。
組み込むの簡単だし。
4441:2011/11/26(土) 22:58:10.48
javascriptにもprototype.jsとかよく使うものまとめてものあるから
luaにもあるのかと思ったけどまだないってこと?
45デフォルトの名無しさん:2011/11/26(土) 23:14:55.71
いろいろ自分で整備してる人はいるかもだけどメジャーなものは記憶にないな
lua だと、そういうのが必要になりそうな場合は直接 C/C++ でライブラリ書いた上で
呼び出しの口だけ作る、といった形にするのが一般的なのでニーズが無い。
誰かが良いものつくれば広まる可能性はあるかもね

単にバランスの問題でね。スクリプトレベルで高度なライブラリほしければ
python や ruby とか全部入りの高級なのを組み込んだほうがてっとりばやい。
lua はそういうのはいらないって分野でこそ使われてる
46デフォルトの名無しさん:2011/11/26(土) 23:38:08.75
CPANやRubyForgeみたいなものはあるが、
http://luaforge.net/projects/
クオリティー担保してまとめたものがあるかは知らない。
47デフォルトの名無しさん:2011/11/27(日) 12:41:43.85
ファイルシステム ネットワーク プロセス スレッド ウィンドウシステム
クオリティを担保するのは言語ではなくOSだ
強いて言うならばスレッドは言語の影響を受けやすい
48デフォルトの名無しさん:2011/11/27(日) 13:26:14.60
とりあえずluaをスクリプティングに使いたいなら
luarocksでposixなりstdlibなりをインストールすればいいな
49デフォルトの名無しさん:2011/11/27(日) 19:02:20.35
Luaは抽象度が高いし、アプリドメインの一番上で活用されるから、汎用ライブラリの出番は少ない。
50デフォルトの名無しさん:2011/11/28(月) 00:02:37.44
>>1-49
論外。強者なら普通にやれる
51デフォルトの名無しさん:2011/11/28(月) 02:34:17.16
stdlibってのがutility関数っぽい。
見た感じwebアプリケーション向けのライブラリが沢山あるのは、他のスクリプト言語みたいに単独で使うつもりなのかな。
52デフォルトの名無しさん:2011/11/28(月) 03:06:49.03
stdlibってやつを軽く調べてみたけど、実用はなさそう。
53デフォルトの名無しさん:2011/11/29(火) 01:48:57.26
LuaJITのGitリポジトリでは、共有ライブラリ化とPPC向けが実装済みで次(beta9)ぐらいに入るらしい。
http://luajit.org/sponsors.html#sponsorship_bc
共有ライブラリって名前通りに実行ファイルにしたり、LuaJITから呼んだり出来るのか?
54デフォルトの名無しさん:2011/11/29(火) 03:23:08.00
bytecode をうめこんだネイティブなオブジェクトファイルを生成して、それを直接アプリとリンクしたり、
共有ライブラリのなかに入れたりできるようにする、とあるなかな
lua で書いたものが、JIT処理つきで Cベースのプログラムと直接リンク可能になるってことではないかと
55デフォルトの名無しさん:2011/11/29(火) 06:33:13.14
探してもなかったので自分で便利関数書いてみた
公開してみようかと思ったらluaforgeが新規受付してないっぽい
今はどこに集積されてるんだ
56デフォルトの名無しさん:2011/11/29(火) 07:19:53.53
codepadやここでいいんじゃね
57デフォルトの名無しさん: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
58デフォルトの名無しさん:2011/11/29(火) 20:34:05.19
Lua 5.2.0 (rc2)
http://www.lua.org/work/
59デフォルトの名無しさん:2011/11/30(水) 01:28:10.96
限定された機能しか使えない環境下でcronが使いたかった。探してもなかったので作った。

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

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

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

81デフォルトの名無しさん: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
82デフォルトの名無しさん: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

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

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

一応 php_embed.h / php_embed.c という解説皆無の組み込み用インターフェースなファイルはあるらしいよw
95デフォルトの名無しさん:2011/12/17(土) 04:31:52.99
lua server pages使っとけよ
96デフォルトの名無しさん:2011/12/17(土) 10:53:41.27
97デフォルトの名無しさん:2011/12/17(土) 11:13:42.34
ひゃっほー!
98デフォルトの名無しさん:2011/12/17(土) 16:27:21.95
記念していつもの
lua52.dll
ttp://ll.la/*j5u
99デフォルトの名無しさん: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.

100デフォルトの名無しさん: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.

101デフォルトの名無しさん: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.

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

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

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

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

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

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

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

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

icuと比べ数十倍は遅いけど
ゲーム用なら問題なく使えると思うよ
182デフォルトの名無しさん:2012/01/25(水) 23:46:40.61
>>181
おお、これかなり便利そうだね。
後で使ってみるよサンクス。
183デフォルトの名無しさん:2012/01/27(金) 19:30:33.54
Programming in Lua 4800円たけーよ
だれか公式のver5.0訳してくれよただで
184デフォルトの名無しさん:2012/01/27(金) 19:33:19.50
2400円ならいいよ
185デフォルトの名無しさん:2012/01/27(金) 20:53:56.66
1ページ10円は技術書の標準的な価格
別に高くないよ
186デフォルトの名無しさん:2012/01/27(金) 21:39:50.81
英語勉強しろ
187デフォルトの名無しさん: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に出来る
とか
188デフォルトの名無しさん:2012/01/30(月) 21:50:26.55
>>187
今のところ、namespaceで囲っている部分から、RegisterGlobalFunctionで登録したグローバル関数や、
グローバル名前空間(って言うのか?)の関数を呼び出そうとすると文法エラーになる模様。
189デフォルトの名無しさん:2012/01/30(月) 23:26:21.29
        (´\r-、     ┼         +     /`/`)    +
     ┼   (\. \!              *     // ,/)  *
  +     * (ヽ、   \ +  *          /   /)   +
      ⊂ニ      )        *   +  (     ニ⊃
  *  +  ⊂、     (   ∩___∩   ノ     ⊃   +  *
         (/(/   ヽ  | ノ     ヽ /    、)ヽ)  ┼
    +        (/     ∨  ●   ●レ /⌒) 、)ヽ)
     *       (/'   |   ( _●_) ミ'  /、)、)´       +
         +    (/'ヽ 彡、   |∪| ノ /     AngelScript!!
     +            / __ヽノ  /  *      +
       ┼        (___) /      +
               /     /
               (_ ⌒丶..
                | /ヽ }.
                  し  ))
                    ソ  トントン
190デフォルトの名無しさん:2012/01/31(火) 07:46:16.54
   /ヽ /ヽ
  ':' ゙''"  `':,
  ミ   ・ω・ ;,
 :; . っ     ,つLua
  `:;      ,;'
   `( /'"`∪
191デフォルトの名無しさん:2012/01/31(火) 11:39:27.30
192デフォルトの名無しさん:2012/02/01(水) 12:23:35.36
いまのver5.2でも

C>lua.exe -lilua

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

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

http://mynickname.web.fc2.com/
195デフォルトの名無しさん:2012/02/02(木) 00:11:12.06
おー、ありがたいね。
これで5.2にバージョンアップしよう。
196デフォルトの名無しさん: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へのバックポート
197デフォルトの名無しさん:2012/02/04(土) 11:47:04.32
>>196のって非公式ソース? 
例えばこれ入れるとstring.lenとかで日本語混在でも正しい文字数計測できたりするってこと?
198デフォルトの名無しさん:2012/02/04(土) 15:00:31.86
非公式って意味不明だけど
公式のソース lua5.2.0.tar.gz にシフトJIS漢字を扱うための修正を加えたものを
VisutalStudio2010ExpressのVC10で実行形式にしたもの。
5.1.4の方はまだ ちょっとしたバグがあるもよう。
199デフォルトの名無しさん:2012/02/04(土) 15:03:34.86
ちなみに

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

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

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

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

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

void f(int& a){
}

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

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

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

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

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

259です。

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

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

その他の手段としてメタメソッドの変更で何とか出来そうな気もするのですが、
こんどはC++側での x.data を知る手段が分からず・・・
270デフォルトの名無しさん:2012/02/16(木) 19:42:12.11
AngelScriptJITキター
でもVS2010持ってねぇーorz
271デフォルトの名無しさん:2012/02/17(金) 16:23:11.90
Express でいいじゃない
コマンドライン版でよければ Windows SDK 入れるだけで入るよ>VC++
272デフォルトの名無しさん:2012/02/17(金) 21:09:44.37
273デフォルトの名無しさん:2012/02/18(土) 00:13:28.11
>>271
とりあえずExpressインストールして試してくる。
274デフォルトの名無しさん:2012/02/18(土) 00:22:16.48
5.2 release age
275デフォルトの名無しさん:2012/02/18(土) 01:50:14.07
>>272 見てLuaBinariesに行ったら5.1.5はまだ無かったけど
[08/Jan/2012] Lua 5.2.0 - Release 2があった
276デフォルトの名無しさん: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するのを忘れずに
277デフォルトの名無しさん:2012/02/18(土) 22:01:57.00
AngelScriptJITはMITライセンスなのか
278デフォルトの名無しさん:2012/02/19(日) 16:48:49.38
とりあえずAngelScriptJITを試してきた。
簡単なFibonacci数の計算をスクリプトでやらせると、通常の時の半分ぐらいの時間で済んでた。
279デフォルトの名無しさん:2012/02/24(金) 11:56:04.97
LuaってやっぱPerl/Ruby/Pythonとかと比べて
簡単にできることが激少ないんですかね?
例えば複数のファイルの名前にnekoって文字を付け足すとか
ファイルに行番号を付与するとかのちょっとしたこと
280デフォルトの名無しさん:2012/02/24(金) 11:59:35.18
用途が異なるんだから当たり前
281デフォルトの名無しさん:2012/02/24(金) 14:08:56.91
>>279
そんなことないと思うよ
標準ライブラリのボリューム、end }, exp stなどの違いで
Golf向きではなかったり苦手な処理もあるけど
出来ない表現ってのはないと思う

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

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

さいとうたかをのマンガ「サバイバル」的な何か。
だがそれが良いw
288デフォルトの名無しさん:2012/02/24(金) 20:14:00.86
io.popen("perl")でいい
rubyでこれをやる気にはならないが、luaならできる
289デフォルトの名無しさん:2012/02/25(土) 09:32:39.63
luaはもともとそういうコンセプトだからね
必要機能を省いて超高速動作する
でも別に簡単処理が出来ないわけじゃない
自分で関数を作ってrequireすればいいだけ
290デフォルトの名無しさん: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()
291デフォルトの名無しさん:2012/02/25(土) 12:01:14.63
         \   l´⌒\⌒\ \\ \
           \ ヽ   )  )   \\ \\   
              (   \ \∩___∩ \\ 
           \   \  ⌒⌒| ノ      ヽ  \\      
              \ \   /  ●   ● ト、\ \\\ 
               \  Y |    ( _●_)  ミ\  \\\  
               \ / 彡、_  |∪| ノ   \  \\\
                 (____)―ヽノ' ヽ      ̄ ̄ ヽ\\
                                \,  j  l l .l }
                         Lua!   l (_ノノノノ

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

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

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

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

の3種類にわかれると書いてたな。
1 Shot killがよくわからんけど。
298デフォルトの名無しさん:2012/02/26(日) 10:11:29.92
AngelScriptJITだと!?
俺2005pro止め…面倒
299デフォルトの名無しさん:2012/02/26(日) 14:35:11.08
>>297
マルチプラットフォームってこと
300デフォルトの名無しさん:2012/02/26(日) 15:02:20.41
> 一応、公式の紹介文ではLua使いは
>
> ・開発者がC/C++等と合わせて使う
> ・1 SHOT KILL?のLua単体プログラミングとして使う
> ・ゲーム等でエンドユーザーが使う
>
> の3種類にわかれると書いてたな。
ソースよろ
301デフォルトの名無しさん:2012/02/26(日) 15:29:28.03
>2 ?
302デフォルトの名無しさん:2012/02/26(日) 15:40:17.64
303デフォルトの名無しさん: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.
と脳内補完しちゃったってことか
304297:2012/02/26(日) 17:24:38.09
すまんうろ覚えだったw
305デフォルトの名無しさん:2012/02/26(日) 18:47:41.76
そういうの白ける
306デフォルトの名無しさん: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と同じ修正を当てた
>(このバージョンアップでは修正箇所への影響無しと判断)
307デフォルトの名無しさん:2012/02/26(日) 20:05:48.09
SJis対応って具体的に何が対応してるんですか?
問題なんか起こった記憶がないんだけど
308デフォルトの名無しさん:2012/02/26(日) 20:15:11.13
>>307
「表」とか文字列で使うとわかると思うよ
309デフォルトの名無しさん:2012/02/26(日) 20:29:38.61
SHIFTJIS対応してないと、正規表現式に漢字を入れても正しく動作しない。
それどころか、Luaの場合、コメント中でも誤動作する可能性があるのねw
310デフォルトの名無しさん:2012/02/26(日) 20:48:54.95
>>309
コメントでも誤動作するのか・・・知らなかった。
SJISって重要なんだな
311デフォルトの名無しさん:2012/02/26(日) 20:51:55.42
というか WindowsのコンソールもUbuntuのように
UTF-8で動作すれば問題ないのにさw
312デフォルトの名無しさん:2012/02/26(日) 21:18:43.15
そんなに重要なら問題なら本家でパッチしてもらったほうがいいと思うのですが
313デフォルトの名無しさん:2012/02/26(日) 21:28:32.71
本家にシフトJISに対応してもらうのん?
日本語Windows使ってないとテストもできないでそ。
314デフォルトの名無しさん:2012/02/26(日) 21:45:29.17
SJIS そのものが欠陥なのでスルーが正解。もう UTF-8 でいいっしょ
315デフォルトの名無しさん:2012/02/26(日) 22:05:50.89
たしかにUTFがあるのにSJISを選ぶ理由ってなに?
316デフォルトの名無しさん:2012/02/26(日) 22:19:24.38
それはWindowsのコンソールがSHIFTJISだからですよん
317デフォルトの名無しさん:2012/02/26(日) 23:18:12.63
sjisはともかく、cp932が生まれたのはunicodeの責任もあるので、スルーは無責任だよね
318デフォルトの名無しさん:2012/02/26(日) 23:21:13.37
WindowsはSjisベースだし、移行しようとしてるのはUnicodeという独自規格だし
UTF8の出番はないですね
319デフォルトの名無しさん:2012/02/26(日) 23:27:49.88
またwindowsしか知らない人のsjisのしょーもない話か
320デフォルトの名無しさん:2012/02/26(日) 23:37:58.74
ゲーム機系は、APIは全部UTF-8 になったのに、接続ツールのコンソール表示が UTF-8 対応してなくてもにょる
321デフォルトの名無しさん:2012/02/27(月) 01:09:38.00
んと、UTF8のシェルを作って、その上でUTF8のLuaを動かしたとしてもね、
周囲のコマンドがSHIFTJISだからね、
io.popen使った時に激しく文字コード変換することになるわけさ。
変換の時にダメ文字の挙動どうするかとかめんどくさいことも
考えなくちゃいけいないw
それともCygWinみたいにごっそり環境作る? w

けっきょくSJISで運用するのがラクなのさw
322デフォルトの名無しさん:2012/02/27(月) 01:13:04.48
ついでに、Luaって数値のデータ型に整数が無くて
演算が倍制度浮動小数点だからね、
ウニコード文字の比較とか厄介な問題がある。
とりあえず、UTF16やUCSはUTF8に変換すれば
ストリングをコンテナとして 保持することは問題ないのさぁ
323デフォルトの名無しさん: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ごと投げて返す関数で対応とか考えもしたけど
なにこの書き方馬鹿なの馬鹿なのと笑われるようなことをしている気がしてならないんだ…
324デフォルトの名無しさん:2012/02/27(月) 19:43:07.54
> function f(...)
>> return ...
>> end
> print(f(1, 2, 3, 4))
1 2 3 4
325デフォルトの名無しさん: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
>
326デフォルトの名無しさん:2012/02/27(月) 19:53:56.53
unpackでテーブルから可変引数に変換できるのか!
リファレンスを可変で検索しても見当がつかなかったんだ
良かった…これで見るからにどっか間違ってる書き方をしないで済んだよありがとう
327デフォルトの名無しさん:2012/02/28(火) 04:54:00.60
あれ、LUAってもしかしてswitch無いの・・・?
328デフォルトの名無しさん:2012/02/28(火) 05:16:18.83
continueも忘れないでね
329デフォルトの名無しさん:2012/02/28(火) 07:41:12.07
switch風やcontinue風に書くできるけど出勤時間なのだ。
330デフォルトの名無しさん:2012/02/28(火) 12:52:18.75
組込みスクリプトにschemeを選ばない奴は、CSの知識が欠けた2流
331デフォルトの名無しさん:2012/02/28(火) 13:05:03.97
schemeとか継続あるせいで遅いし・・・
332デフォルトの名無しさん:2012/02/28(火) 13:21:46.23
新しいハードなりアーキテクチャが出た際でも、schemeだとすぐに実装が出てきそう
333デフォルトの名無しさん:2012/02/28(火) 20:00:44.95
何言ってんの、こいつ
334デフォルトの名無しさん:2012/02/28(火) 21:09:57.95
表記が簡単=難読化だからな
明示的な書き方しない言語はどうも好きになれない
335デフォルトの名無しさん:2012/02/28(火) 22:15:14.29
Cの悪口はそこまでだ
336デフォルトの名無しさん:2012/02/29(水) 00:07:28.14
>>334
組込みスクリプトって、AIみたくロジックに集中するためのものだろ
c++やjavaのように長ったらしいクラス名や変数名を付ける必要ない

今日日のPHP,ruby,javascriptなどの動的言語による開発には同意
337デフォルトの名無しさん: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
338デフォルトの名無しさん: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
339デフォルトの名無しさん:2012/02/29(水) 08:10:32.06
配列に無名関数入れてテーブル化できないのか
340デフォルトの名無しさん:2012/02/29(水) 08:36:42.86
配列に無名関数入れたらテーブルでしょ
341デフォルトの名無しさん:2012/02/29(水) 09:38:36.46
         \   l´⌒\⌒\ \\ \
           \ ヽ   )  )   \\ \\   
              (   \ \∩___∩ \\ 
           \   \  ⌒⌒| ノ      ヽ  \\      
              \ \   /  ●   ● ト、\ \\\ 
               \  Y |    ( _●_)  ミ\  \\\  
               \ / 彡、_  |∪| ノ   \  \\\
                 (____)―ヽノ' ヽ      ̄ ̄ ヽ\\
                                \,  j  l l .l }
                         Lua!   l (_ノノノノ

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

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

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

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

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

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

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

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

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

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

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

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










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

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

みたいな感じで、読み込みクラスのメソッドを呼び出した方が楽かなと。
402デフォルトの名無しさん: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
403デフォルトの名無しさん:2012/03/16(金) 07:45:38.72
いてもたっても居られずsquirrelを作った作者の気持ちが痛いほど分かる
404デフォルトの名無しさん:2012/03/16(金) 07:56:37.57
そう思うなら布教なりお布施なりしろよ。
このままじゃ死滅するだろ
405デフォルトの名無しさん:2012/03/16(金) 08:06:43.56
分かるからってsquirrelがいいとも思わないからな
一番いいのは周知の既存言語の組み込み版だよな
JavaとかC#とかの基本構文を真似たものが欲しいな
406デフォルトの名無しさん:2012/03/16(金) 09:22:57.41
プログラマ目線の組み込み型なら別にスクリプトである必要なしともなりかねないからね
ユーザ目線ならLuaがちょうどいい
407デフォルトの名無しさん:2012/03/16(金) 12:25:36.97
DllImportは欲しいな
DllImportは基本構文の中でも最強・・・
408デフォルトの名無しさん:2012/03/16(金) 12:50:18.34
ぐぐる先生の dart はどうなん?
409デフォルトの名無しさん:2012/03/16(金) 21:23:45.12
>>402
文法はとりあえずC++で書いた。
なので、スクリプト側で、

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

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

テンプレートの何がいいのかわからないな
難読化させるためにやってるのか
俺はそう考える。
431デフォルトの名無しさん:2012/03/27(火) 12:36:06.80
コメントの類はコードをかえって難読化することもある。
コメントは具体的なコードではないので禅問答に近い。
クラスとテンプレートはコメントではないがコメントに近いので難読化することもある。
432デフォルトの名無しさん:2012/03/28(水) 00:20:33.61
人間とウェブの未来 - Apache 2.4.1のmod_luaでApacheに介入する(mod_rewriteの終焉?) http://t.co/lILfEo3S
スクリプト言語“Lua”の統合開発環境「Lua Development Tools」
http://www.forest.impress.co.jp/docs/review/20120405_523853.html
なんでOpenOfficeでPythonマクロがあってLuaが無いんだろう
ああいうものこそLuaの真骨頂じゃないのかね
足せばいいんじゃ
pythonはコンパイル型だから早い
LuaJITに実行速度負けてるけどな
>>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を追加すれば普通に読めるよ
そんな問題じゃねー
OpenOfficeとの膨大な連携関数軍を言語サイドに公開するコストが
Physonの方が圧倒的に小さい
>>439
ちょっと理解できない
そもそもpythonのJava実装でそんなのあったっけ?
Javaは他言語含めてどれもいまいちな印象しかないのだが。
Office関連はうといのでパッと見の感想だが、Luaほどの速度は必要なくライブラリ豊富なPythonを取ったということかな
上の見る限りpycなら十分だろう
てかLibreOfficeもPython使ってるのかな。しっかり見てないが
Luaの真の力を知ればそのうち神が対応してくれるだろ
Jython
LuaよりPythonの方が記述しやすくない?
今の議論には関係ないんだけど、Pythonインタプリタのインスタンスって
1つしか持てないの?
LuaとかはCからインタプリタ内部にアクセス出来るけど、PythonはPythonで
記述できる内容をCでも記述できるという感じに見える。これも合ってる?
>>441
OOo Basic,Python,Java,JavaScript
知名度で選んだだけじゃね?
組み込みコストは似たりよったりだろうし。
>>445
だね
日本語で
>>445
前者はその通り。今の python は multi vm は配慮されてない

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

Cのコールスタックに依存せず、途中で止めたりするような制御が必要なら、
stackless python か PyPy という実装なら、コルーチン機構があるので、
疑似的にインスタンスを複数もってるのと同じようなことができる
ゲームの類にうめこまれてるのはたいてい素の python でなくて stackless python です
>>447, 448
回答ありがとう。
後段の件は自分の中でも整理できてないな。手間を取らせて申し訳無い。

具体的な用途は決まって無くて何が出来るか調べていたので、
感覚的な話になってしまいました。Tclは使ったことがあって、
LuaはTclと似た感じで使えるけど、Pythonはどうも毛色が違うなあと
感じていました。
450デフォルトの名無しさん:2012/04/16(月) 01:22:26.86
Luaの文法がCと違うのは混乱しないために良いのかもしれないけど
どうせならifとかforとかCの予約語とも重複しないで欲しかったな
451デフォルトの名無しさん:2012/04/16(月) 01:47:42.83
配列が1から始まることを忘れちゃってつい0番に値を入れちゃう
動くから気づかないし
452デフォルトの名無しさん:2012/04/16(月) 07:47:23.79
欲しいなら
作るとよいよ
オナニー言語
453デフォルトの名無しさん: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
454デフォルトの名無しさん:2012/04/18(水) 18:18:02.76
455デフォルトの名無しさん:2012/04/18(水) 22:43:48.98
冗談かと思ったらあるのかよw
しかも種類が多いな
456デフォルトの名無しさん:2012/04/19(木) 18:52:30.20
これの収益がメンテナーに還元されるんだっけ?
457デフォルトの名無しさん:2012/04/20(金) 00:41:59.02
>>454
欲しいけど、英語がわからないのと申し込む方法がわからないんだけど
458デフォルトの名無しさん:2012/04/20(金) 00:57:10.25
just choose then buy then checkout then confirm then wait then wear
459デフォルトの名無しさん:2012/04/20(金) 08:16:19.57
if/forの代替になるキーワードって何があるのさ
俺は全く思いつかん
こいつらはCの予約語どうのって以前に殆どの言語で共通のキーワードなんだから
変えたら混乱以前に誰も使う気しなくなるだろ
460デフォルトの名無しさん:2012/04/20(金) 08:36:24.47
英語が分からんから記号的にしか捉えられないのだろう。
すなわち if 〜 then でなく if () { のがいいというC脳の発想。そこにユーザーへの愛はない。
461デフォルトの名無しさん: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変換すると上手くいくのは分かったのですが、
このやり方が正しいのか自信がありません。

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

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

>>468
ないない
通じない

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

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

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

何にもおかしくないじゃん
475デフォルトの名無しさん:2012/04/21(土) 18:01:18.89
スクリプト言語“Lua”で拡張可能。Unixライクなコマンドラインシェル「NYAOS」
ttp://www.forest.impress.co.jp/docs/review/20120420_527691.html
476デフォルトの名無しさん: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 のほうだろうに。




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

ダイアログボックスつかってるなら、それのウィンドウハンドルをどここかに保存しといて、
MessageBoxに渡した方がいいんではないか?
482デフォルトの名無しさん: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
で分離してるんだよな
それにそれちょっと変な言い回しだな
演説用の思わせぶりな言い方ッて感じ
決して日常会話では使わない
483デフォルトの名無しさん:2012/04/22(日) 14:40:02.68
その日常会話自体がどんどん変化するからね。
おっさんが若者言葉を知らないだけという可能性も高い
484デフォルトの名無しさん:2012/04/22(日) 15:02:23.22
>>482
> で分離してるんだよな
してない。

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

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

使われない

日常会話では使われない

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

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

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

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

軽量rubyソースコード公開
ttp://el.jibun.atmarkit.co.jp/rails/2012/04/rubymruby-2004.html
509デフォルトの名無しさん:2012/05/05(土) 02:35:48.44
公開時点だと組み込みに適したような口が全然はえてなかったけど、その後なんか追加実装されたりしてる? > mruby
fopen とかしょんぼりだぜ
510デフォルトの名無しさん:2012/05/05(土) 11:18:17.94
とりあえず日本語
511デフォルトの名無しさん: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の型推論あたりに近づけるのかな?
512デフォルトの名無しさん:2012/05/08(火) 23:19:09.56
それなら静的型付言語に何でも入る型用意すればいいんじゃね?
513デフォルトの名無しさん:2012/05/09(水) 05:22:08.31
それってどこのバリアント型
514デフォルトの名無しさん:2012/05/09(水) 07:57:21.81
そんな言語ではチェックできないから書き直せという話ばかりで
チェックできたって話は聞いたことがない
515デフォルトの名無しさん:2012/05/09(水) 10:37:25.50
コマンドラインシェル「NYAOS」が内蔵“Lua”言語でCOMオブジェクトを制御可能に
ttp://www.forest.impress.co.jp/docs/news/20120509_531200.html
516デフォルトの名無しさん:2012/05/12(土) 03:29:37.84
LuaJIT 2.0.0-beta10 has been released
517デフォルトの名無しさん: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
518デフォルトの名無しさん:2012/05/13(日) 13:44:00.64

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

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

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

//L = lua_open();

で、増えなくなった

ありがとう
522デフォルトの名無しさん:2012/05/17(木) 11:13:05.10
WindowsでLuaの勉強をはじめたんですが
Shift_JIS対応版Luaを使ったほうがいいのでしょうか?
スクリプトファイルはUTF-8で保存してcygwinのターミナルで実行すれば日本語も表示できるし
SJISでファイルを保存すればコマンドプロンプトでも日本語は表示できるので不便を感じません
いまいちよくわかってないのですがShift_JIS対応版を使うメリットはなんでしょうか?
523デフォルトの名無しさん:2012/05/17(木) 11:19:04.86
524デフォルトの名無しさん:2012/05/17(木) 15:07:11.90
>>523
イーモバイル使ってませんか?
525デフォルトの名無しさん:2012/05/17(木) 21:54:06.89
文字列に「ソ」とか入ってると文字列がおかしくなっちゃうんじゃないの?
526デフォルトの名無しさん:2012/05/17(木) 22:45:02.36
カギ括弧でくくればエスケープされないから、大丈夫じゃない?

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

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



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

どんな問題?
538デフォルトの名無しさん: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

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

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

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

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

ついでに配布ライブラリやIDEと整合しなくなる場合があるのは
C++でコンパイルしていることとVC10の/MTだからで、
必要ならソースの変更なしで対処できる項目ですのん。
548デフォルトの名無しさん: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対応の為に[[...]]というバッドノウハウでしかないでしょ。

エスケープされて欲しくない文字列は[[...]]使えってことなんだから、
そのためにパッチを当てる方が、どちらかというと、バッドノウハウだと思うのだが。
549デフォルトの名無しさん:2012/06/03(日) 19:19:47.89
日本語自体がバッドノウハウ
550デフォルトの名無しさん:2012/06/03(日) 19:31:40.33
rubyのほうがluaより14倍生産性が高い、って言われてmruby見てみたけど…
githubにあるやつが最新でいいんだよね?
551デフォルトの名無しさん: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は対応してないのね。
対応外の文字コードを扱うために培うノウハウ、これぞバッドノウハウじゃないかな?
552デフォルトの名無しさん:2012/06/03(日) 22:44:05.27
これは酷い。Lua涙目
http://blog.matsumoto-r.jp/?p=2642
553デフォルトの名無しさん:2012/06/03(日) 22:49:20.17
>>552
相互呼び出しくらいまでやってみてくれないとネタ以上の意味はないし、"意外と使えるかも?"なんてことは無いと思う
554デフォルトの名無しさん:2012/06/03(日) 22:50:48.90
あくまでネタで作ったっぽいけどどうだろ
555デフォルトの名無しさん:2012/06/04(月) 00:06:25.67
こんな小ネタで禁断とか涙目とかはしゃげるのだから可愛いじゃないか

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

>>556
早くベンチマーク結果を貼るんだ
559デフォルトの名無しさん:2012/06/05(火) 07:22:51.14
先輩の資産とrubyの進捗は関係ないだろう
ゼロサムゲームじゃないんだから
560デフォルトの名無しさん:2012/06/05(火) 14:33:34.73
一方luaにはnode.jsクローンのluvitってのが出来て、
node資産を移植してるみたい。
561デフォルトの名無しさん:2012/06/05(火) 14:37:49.02
luajitのベースってmrubyに使えるのだろうか
562デフォルトの名無しさん:2012/06/05(火) 14:46:38.87
563デフォルトの名無しさん: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.
564デフォルトの名無しさん:2012/06/15(金) 16:14:49.57
記念していつもの
lua52.dll
http://www1.axfc.net/uploader/Sc/so/354475
565デフォルトの名無しさん:2012/06/15(金) 16:35:30.55
>>564
いつものってなんだっけ?
5.2.1のバイナリデータ?
566デフォルトの名無しさん:2012/06/15(金) 18:07:15.47
おそっ
567デフォルトの名無しさん:2012/06/26(火) 00:14:54.26
AngelScript|Д`)<2.24.0記念カキコ
568デフォルトの名無しさん:2012/06/26(火) 00:46:36.27
はやっ
569デフォルトの名無しさん:2012/06/27(水) 13:37:45.87
スクリプト言語による効率的ゲーム開発という本のサンプルは
luaをインストールしてない環境でも起動できるんですけど、
自作ソフトだとlua5.1.dllがないと言われて起動できません
luaをインストールしてない環境でも起動できるようにするにはどうすればいいですか
570デフォルトの名無しさん:2012/06/27(水) 13:39:01.85
サンプルから学べばいいですよ
571デフォルトの名無しさん:2012/06/27(水) 16:38:27.81
同梱白!
572デフォルトの名無しさん:2012/06/27(水) 17:48:02.50
サンプルの方は入ってないのに実行できるんですよ
573デフォルトの名無しさん:2012/06/27(水) 18:39:58.77
本をきちんと買って読みなさい
574デフォルトの名無しさん:2012/06/27(水) 20:01:09.66
>>569
自分のプロジェクトフォルダlua5.1.dllをコピーすれば動くはず。
575デフォルトの名無しさん:2012/06/27(水) 20:14:18.21
>>569
サンプルはスタティックリンクでdll同梱無しに出来るようにしたのだろう
お前が作ったexeはダイナミックリンクでluaを使っているんだろう
だから同梱しないとダメなんだ 多分

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

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

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

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

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

itemuse(1);

みたいなこと単体でできます?
623デフォルトの名無しさん:2012/07/26(木) 21:49:18.52
itemuseの中はeffectに書いてあるスクリプトを実行します
624デフォルトの名無しさん:2012/07/31(火) 00:02:29.60
vm新規で作ったらうまくいきました
625デフォルトの名無しさん: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を直接扱えたほうがありがたい。
誰か解決方法を知っている方はいないでしょうか…。
626デフォルトの名無しさん:2012/08/03(金) 12:18:51.12
>>625
スレ名嫁
627デフォルトの名無しさん:2012/08/03(金) 20:31:36.82
>>626
スレ名嫁
628デフォルトの名無しさん:2012/08/05(日) 12:11:39.63
組み込み系言語として、このスレでは主にluaやsquirrelなどを扱ってる。
調査でrubyを組み込んでみてる人もいるんだろうけど、このスレで聞くより言語のスレのがいいのかな?

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

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

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

これ以外に高速な方法ないですか?
636デフォルトの名無しさん:2012/08/08(水) 13:51:46.43
doubleを5000個保持するデータ構造をuserdataなどで取り扱うのが正解
637デフォルトの名無しさん:2012/08/08(水) 14:02:24.30
lua_pushlightuserdata使えばいいのね
thx
638デフォルトの名無しさん:2012/08/08(水) 15:19:54.10
LuaってC++と相性悪くね?
例外とか考えるのめんどいんだけど
639デフォルトの名無しさん:2012/08/08(水) 15:57:29.71
>>638
例外を使わなければいい
640デフォルトの名無しさん:2012/08/08(水) 17:55:05.55
てかLua自身をC++でコンパイルすればいいじゃん。
MakefileのCC=を書き換えるだけの簡単なお仕事
ソースの修正不要です。
641デフォルトの名無しさん:2012/08/08(水) 17:58:09.88
C++でコンパイルすると例外に対応してくれんの?
642デフォルトの名無しさん:2012/08/08(水) 18:00:25.62
そうです
643デフォルトの名無しさん:2012/08/08(水) 18:03:26.20
というか過去ログのShiftJIS版5.2の実行ファイル、
C++でコンパイル済みの.exe
644デフォルトの名無しさん:2012/08/09(木) 00:53:14.74
>>641
するわけ無いじゃん
ANSI-Cで書かれてるんだからANSI-Cに存在しない機能は当然サポートされないよ
645デフォルトの名無しさん: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.
*/
646デフォルトの名無しさん: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
647デフォルトの名無しさん:2012/08/09(木) 09:06:56.11
RAIIに対応してんの?
例外投げてもリークしたら意味ないよな
648デフォルトの名無しさん:2012/08/09(木) 14:10:36.20
AngelScript|Д`)<AngelScript2.24.1記念カキコ
649デフォルトの名無しさん: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の後始末が
必要になるが、それはプログラムの書き方の問題。
書く時に避ければいい。
650デフォルトの名無しさん:2012/08/09(木) 22:34:26.60
>>648
ロゴはラピュタのロボットの飛行状態ですよね
651デフォルトの名無しさん:2012/08/09(木) 22:48:06.96
天使語がはやくメジャーになるといいですね
652デフォルトの名無しさん:2012/08/10(金) 00:55:44.06
日本語環境で使う場合にエンゼルスクリプトの問題点って何かある?
653デフォルトの名無しさん:2012/08/10(金) 01:06:23.86
>>652
Win環境の場合だと、デフォではShiftJISに対応してない事。
UTF8でスクリプト書けば問題ないけど。
654デフォルトの名無しさん:2012/08/10(金) 13:53:58.02
いまどきsjis使わないだろ
655デフォルトの名無しさん:2012/08/10(金) 19:45:27.95
使わないよな普通
656デフォルトの名無しさん:2012/08/10(金) 21:38:30.54
Windows上でしかやらない場合はまだShiftJIS使う事もあるよ。
WindowsでもUTF8のテキストを変換せずに使えるといいのになーとは思う。
657デフォルトの名無しさん:2012/08/10(金) 23:04:10.92
内部でUTF16に変換する環境では、外部がUTF8でもSJISでも五十歩百歩だよな
658デフォルトの名無しさん:2012/08/12(日) 03:49:06.90
luaでshebangつかうとき、普通に

#!/usr/bin/lua

って書いても問題ないですか?
というか、実際やってみると動くんですが、
luaってコメントが"#"じゃなくて"--"なので、本当にこれでいいのかなぁと。
659デフォルトの名無しさん: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 (`#´).
660デフォルトの名無しさん:2012/08/12(日) 05:10:30.90
こんな時間にありがとうw
おかげですっきりしました。
661デフォルトの名無しさん:2012/08/12(日) 13:51:08.30
うひー、速いよ、速すぎるよLuaJIT !!
Cといい勝負。
なにするとこんなに速くなるんだ?
662デフォルトの名無しさん:2012/08/12(日) 17:43:20.34
コンパイルするから速くなる
663デフォルトの名無しさん:2012/08/12(日) 17:45:52.42
バインダってへんな副作用とかないんですか?
バインダつかってハマったこととかあります?
664デフォルトの名無しさん:2012/08/12(日) 19:19:37.33
ハマったわけじゃないけど
最新のboostだとコンパイルできなくて1つ前の使うとかなら
665デフォルトの名無しさん:2012/08/14(火) 02:47:58.36
javascriptとluaどっちがきのこるとおもう
666デフォルトの名無しさん:2012/08/14(火) 02:49:51.92
スクアールはもうダメかな
667デフォルトの名無しさん: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
668デフォルトの名無しさん: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というバッチを添付
669デフォルトの名無しさん:2012/08/19(日) 00:31:05.24
SJIS使わないさん遅いな…
670デフォルトの名無しさん:2012/08/25(土) 19:29:38.04
633の頭の中ではメモリが無限でメモリ読み書きは一瞬で終わることになってるのか
671デフォルトの名無しさん:2012/08/25(土) 22:42:17.97
まるでfirefox開発者のような意見だな
672デフォルトの名無しさん:2012/08/28(火) 11:47:14.89
スクリプトブームってもうオワコンですか?
673デフォルトの名無しさん:2012/08/28(火) 12:00:11.40
スクリプトは単なるC/C++のライブラリだという事に、もう気付いたよな
674デフォルトの名無しさん:2012/08/28(火) 12:22:21.06
次はGCJブームが始まるべきだ
675デフォルトの名無しさん:2012/08/28(火) 14:12:36.58
今はブームから当たり前のものになりつつある時期
各自シコシコいじってるような時期
676デフォルトの名無しさん:2012/09/07(金) 23:31:45.25
AngelScriptがクラスのmixinとか言うのに対応するらしいが
mixinって何??
C++にはvirtualキーワード使った多重継承があるけど
これとは違うのか
677デフォルトの名無しさん:2012/09/08(土) 00:28:28.96
似たようなもの。

二つのクラスを混ぜるんじゃなかったっけ
678デフォルトの名無しさん:2012/09/08(土) 00:30:41.10
679デフォルトの名無しさん:2012/09/08(土) 00:34:32.33
mixinのページより継承のページのほうが良かった気がする
680デフォルトの名無しさん:2012/09/08(土) 09:51:37.26
681デフォルトの名無しさん:2012/09/08(土) 10:11:17.12
682デフォルトの名無しさん:2012/09/08(土) 15:46:49.57
Luajit FFI から APR を使おうとしたら mangling うんぬん・・・
683デフォルトの名無しさん:2012/09/08(土) 18:13:10.47
バイナリとソースのギャップが大きいということは
言語を二つ覚えさせられるのと同じことだよな
684デフォルトの名無しさん:2012/09/08(土) 18:57:48.68
呼び出しを __stdcall で解決

>>683
じゃ・・・インタプリタ
685sage:2012/09/08(土) 20:46:53.93
angelscript触ってみたが、グローバル関数をC++->asへは渡せたけど
ドキュメントにあるようなクラスメソッドを渡すコードは"クラス名"はデータ型じゃぬぇと怒られて失敗する
なぜなん・・・
686デフォルトの名無しさん: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"); // 文字列としてしかキーを設定できない?
687デフォルトの名無しさん:2012/09/09(日) 09:28:16.93
lua_settable はスタックトップに値じゃね
メタメソッド呼ばないときは lua_rawseti 使ってるわ
688デフォルトの名無しさん: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でいい
689686:2012/09/09(日) 12:46:00.35
>>687
おっしゃる通り、スタックトップに値でした。
考えてみると、最後に積んだのがスタックトップですもんね…。
lua_rawseti。大量のデータを格納するには この方が早そうですね。
ありがとうございました。

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

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

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

Hoge::Fuga();

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

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

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

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

VCとヒデマルは色付けられるんだぜ。
746デフォルトの名無しさん:2012/10/01(月) 05:04:54.70
>>744
おー
luajitとmsgpackはmplua(MessagePack for Lua)で普通に使えてはいたけど
組み合わせてluajit寄りにして高速化でもしてるんかな?
助かるわー
747デフォルトの名無しさん:2012/10/01(月) 05:09:37.19
勘違い…luajit"で"実装かorz
748デフォルトの名無しさん:2012/10/01(月) 22:51:02.98
>>745
別に秀丸に限らず、高機能なテキストエディタやIDEは大体色の設定出来ると思うが。
初期設定で末尾文字の色を分けてるエディタなんて見たことないし、
わざわざ末尾文字の色を自分で設定して使ってる人も見たことない。
749デフォルトの名無しさん:2012/10/02(火) 01:37:02.01
>>748
末尾文字の末尾ってのは具体的に何を指してるの?
その点を明確にすれば誤解は解けると思う
750デフォルトの名無しさん: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
751デフォルトの名無しさん:2012/10/02(火) 10:23:52.80
>>749
過去レスちょっと遡れば分かると思うんだが。
752デフォルトの名無しさん:2012/10/02(火) 10:28:20.89
>>749
セパレータ
753デフォルトの名無しさん:2012/10/03(水) 01:03:30.41
気がついたら誰も味方がいなくなってた。
信者みたいな読者だけしか残ってなかった。
それで意味なくヒステリックに攻撃してる。
終わった。完全に。
754デフォルトの名無しさん:2012/10/03(水) 01:07:43.40
>746-747
>750
755デフォルトの名無しさん: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という関数が
呼ばれるようにしたいのですが、どうバインドすればよいのか見当もつきません。

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

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

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

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

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

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

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

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

こんな感じでいけた。

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

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

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

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

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

PJを横断するようなutil的なmoduleには、パス通すようにするかね。。
793デフォルトの名無しさん:2012/11/13(火) 02:04:27.44
あれ?
Luaってメソッド/関数のオーバーロードって出来なかったけ?
794デフォルトの名無しさん:2012/11/13(火) 02:05:47.12
大抵のスクリプト言語ではそう
795デフォルトの名無しさん:2012/11/13(火) 02:14:31.10
>>794
そうなのかー、ありがとう。
796デフォルトの名無しさん:2012/11/13(火) 09:57:58.08
Luajit2.0リリース!
797デフォルトの名無しさん:2012/11/13(火) 10:07:05.78
LJ!
798デフォルトの名無しさん:2012/11/17(土) 20:56:16.86
おい!スレッドクラスとバインドしたのにVMがマルチスレッド対応してないから落ちるじゃねーか!!!
クソファッキン!!!
799デフォルトの名無しさん:2012/11/18(日) 03:11:33.92
スレッドセーフのインターフェイスを自前で作るんだな
800デフォルトの名無しさん:2012/11/18(日) 12:46:59.66
SquirrelとかAngelScriptとかGameMonkeyとかはスレッドセーフなの?
801デフォルトの名無しさん:2012/11/18(日) 14:14:56.13
Luaもスレッドセーフだよ
802デフォルトの名無しさん:2012/11/18(日) 15:12:39.14
まずスレッドセーフとは何か定義してから話すんだ
803デフォルトの名無しさん:2012/11/18(日) 15:38:47.83
定義も何も開発者が自信を持ってそう語ってるよ。
ttp://lua-users.org/lists/lua-l/2011-07/msg00072.html
804デフォルトの名無しさん:2012/11/18(日) 17:00:38.96
定義が必要な範囲でしか語ってないじゃないか。
805デフォルトの名無しさん:2012/11/18(日) 18:28:33.13
そんな難しく考えずに普通に考えればいいやん。君はへりくつたれだねぇ。
一般的にいえばLuaはスレッドセーフなんだよ。
806デフォルトの名無しさん:2012/11/18(日) 18:52:53.15
>>803
英語読めないの?
807デフォルトの名無しさん:2012/11/18(日) 19:07:50.39
一つのLuaインスタンスに複数のスレッドから同時にアクセスしようとすると片方は待たされるってことでおk?
それともスレッドの数だけLuaインスタンス作れば好きなようにアクセスできるよってこと?
808デフォルトの名無しさん:2012/11/18(日) 20:03:42.35
後者だったと思う。
809デフォルトの名無しさん:2012/11/18(日) 20:05:25.47
あとはホスト言語から呼んだ時にホスト言語のグローバル変数を汚染しない
810デフォルトの名無しさん: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
811デフォルトの名無しさん:2012/11/18(日) 21:03:17.24
>>806
日本語読めないの?
それともLuaに負けたのが悔しいの?
812デフォルトの名無しさん:2012/11/18(日) 21:07:43.26
マルチスレッド対応のGUIウィジェットが欲しい
813デフォルトの名無しさん:2012/11/18(日) 21:12:07.83
         \   l´⌒\⌒\ \\ \
           \ ヽ   )  )   \\ \\   
              (   \ \∩___∩ \\ 
           \   \  ⌒⌒| ノ      ヽ  \\      
              \ \   /  ●   ● ト、\ \\\ 
               \  Y |    ( _●_)  ミ\  \\\  
               \ / 彡、_  |∪| ノ   \  \\\
                 (____)―ヽノ' ヽ      ̄ ̄ ヽ\\
                                \,  j  l l .l }
                         Lua!   l (_ノノノノ
814デフォルトの名無しさん: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

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

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

これってなにをしているのでしょうか?
819デフォルトの名無しさん:2012/11/20(火) 00:00:21.57
require(modname)とした時にthemeTableを返すよう設定している
何を意図してるのかはそれだけじゃわがんね
820デフォルトの名無しさん:2012/11/20(火) 00:03:59.19
>>818
Lua のマニュアルのローダーのところを読むといいよ
821デフォルトの名無しさん:2012/11/20(火) 08:30:15.66
すみません
822デフォルトの名無しさん:2012/11/20(火) 08:32:29.03
最近使ってるデータベースにluaという言語がのったのですが
使い方がよくわかりません
参考になるサイトとかありますか?
redisというデータベースです。
823デフォルトの名無しさん:2012/11/20(火) 08:50:51.12
釣りだな。
こんなスレを探すことはできるのにググれないはずがない。
それとも検索キーワードに2chと書く癖でもついてるのか?
824デフォルトの名無しさん:2012/11/20(火) 18:31:55.84
どのサイトがいいか質問するために日本語のコミュニティを探したってことだろう。
そこまではおかしくないと思うが、
テンプレ、このスレ、過去スレを読まずに質問する根性は 2ch では叩かれて当然。
優しくしてほしいなら知恵袋にでも行けばいい話で、わざわざ 2ch を選んだというのは叩いて欲しかったと考えるのが自然。
なるほど、確かに釣りのようだ。
825デフォルトの名無しさん:2012/11/23(金) 19:17:02.49
すいません
最近使ってるルーターにluaという言語があったのですが使い方がよくわかりません
参考になるサイトとかありますか?
ヤマハのルーターです
826デフォルトの名無しさん:2012/11/23(金) 19:52:29.63
827デフォルトの名無しさん:2012/11/23(金) 23:59:44.48
mrubyソースの量すでにLuaの三倍
しかもC++でのコンパイルには問題があるので
mruby自身の拡張にはboost使えない。
CRCとかPOOLとかなにげに組み込みで使いたいのにorz

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

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

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

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

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

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

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

http://mynickname.web.fc2.com/
892デフォルトの名無しさん:2012/12/24(月) 00:16:06.46
>>889
適当に組み込むなら簡単だね
情報多いし、SWIGもあればBoost.Pythonもあるわで最強クラス
でも、真面目に組み込むとなると結構大変だよ
まず参照カウントの管理がついて回るので面倒この上無い
あとはPythonに限ったことじゃないけど
"組み込みも出来るよ"程度のスタンスの言語は
インタプリタがメモリリークしてる事が多いんだよね
これがつらい
valgrindなどで見なかったことにしようってな事になるんだけど
そのフィルタを掛けるのには当然その言語への理解が必要不可欠なので
軽々しく使えるものではないんだな
Pythonの言語仕様の大きさを考えても、決して簡単だと言えるものではないと思う
893デフォルトの名無しさん:2012/12/24(月) 06:03:31.94
全然そんなことないよ。
もしそうならとっくに大問題になってるしな。
基本的な何かが間違ってんじゃね?
894デフォルトの名無しさん:2012/12/24(月) 12:27:04.64
オブジェクト指向の言語は
基本的な型とユーザー定義型を分離しないから
ユーザー側のミスでもインタプリタ本体が連帯責任になる場合があるんじゃないか
895デフォルトの名無しさん:2012/12/24(月) 22:59:57.51
AngelScript|Д`)<オブジェクト指向と聞いて飛んできたわよ
896デフォルトの名無しさん:2012/12/24(月) 23:59:07.79
関数型が使えるスクリプト言語ってLuaだけ?
897デフォルトの名無しさん:2012/12/25(火) 02:09:53.31
スクリプト言語だと珍しくない機能だと思う。
Wikipediaで第一級関数を検索すればいくつか出てくるぞ
898デフォルトの名無しさん:2012/12/25(火) 02:29:32.04
そこに書いてなくてここ的に関係ありそうなスクリプト言語だと、SquirrelとXtalでも使える。
AngelScriptは関数ポインタはあるみたいだけど、これは違うよね・・・
899デフォルトの名無しさん:2012/12/28(金) 20:53:10.44
   ∧_∧  / ̄ ̄ ̄ ̄
  ( ・∀・) <  Lua!!
⊂/  9)  \____
q(   /
  >  >
900デフォルトの名無しさん:2013/01/04(金) 09:36:46.15
AngelScript|Д`)ノ<あけおめ
901デフォルトの名無しさん:2013/01/04(金) 10:12:48.51
       //
     /  /   パカッ
     //⌒)∩__∩
    /.| .| ノ     ヽ
    / | |  ●   ● |     
   /  | 彡  ( _●_) ミ Lua!!
   /  | ヽ  |∪|  /_
  // │   ヽノ  \/
  " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
902デフォルトの名無しさん: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桁の数字が出てきます
903デフォルトの名無しさん:2013/01/07(月) 01:31:12.97
自己解決しました
自分で範囲乱数の関数を作らないと駄目だったのね
904デフォルトの名無しさん:2013/01/17(木) 12:09:04.62
mrubyもLuaみたいなもんなのかな?
905デフォルトの名無しさん:2013/01/17(木) 16:53:33.98
Luaの疑似クラスでメンバ関数内でメンバ変数使う時に
self.を省略させる方法はないのでしょうか。
906デフォルトの名無しさん: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)
907デフォルトの名無しさん: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
908デフォルトの名無しさん: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)
909デフォルトの名無しさん:2013/01/18(金) 20:39:19.65
なるほど…どうしてもそういうトリッキーなやり方になってしまうのですね。
ありがとうございました。
910デフォルトの名無しさん:2013/01/18(金) 22:02:11.34
selfを省略するとself.x()とself:x()の違いがわからない
関数とメソッドを共存させるのは難しい

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

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

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

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

大切なスクリプトは
/dev/null
に書こう
925デフォルトの名無しさん:2013/01/23(水) 18:02:22.40
大事なときに、スカウターが故障する
0が見えるんじゃなくて故障する
926デフォルトの名無しさん:2013/02/11(月) 19:38:49.10
ちょっと教えてくれ。
requireでロードできるモジュールを動的ライブラリじゃなくてホストアプリから提供したい場合、
package.preloadに自分のluaopen_*を登録しとけばいいの?
927デフォルトの名無しさん:2013/02/11(月) 21:18:21.52
luaL_dostring(L, "function hoge() ... end");
でいいんじゃないのん?
928デフォルトの名無しさん:2013/02/11(月) 21:45:46.88
いや、やりたいのはCで書いたモジュールがrequireでロードされるように
したいということなんで。
Programming in LuaにはluaL_registerで有無を言わせず登録するか
動的ライブラリにする方法しか書いてなかったから。
929デフォルトの名無しさん:2013/02/11(月) 22:01:51.83
>>926
去年書いた require 関数のラッパーによると・・・合ってると思う
930デフォルトの名無しさん:2013/02/11(月) 23:07:12.75
サンクス。明日試してみるよ。
931デフォルトの名無しさん:2013/02/16(土) 16:25:37.66
Luaデバッガ/IDEの「Decoda」がオープンソースに
http://sourceforge.jp/magazine/13/02/14/2355208
932デフォルトの名無しさん:2013/02/16(土) 19:04:02.79
ぅあああああ
933デフォルトの名無しさん:2013/02/17(日) 01:40:35.52
>>931
情報サンクス!嬉しいぜ
934 忍法帖【Lv=2,xxxP】(1+1:5) :2013/02/17(日) 07:20:41.30
thx!
935デフォルトの名無しさん:2013/02/18(月) 10:17:00.13
AngelScript|Д`)<AngelScript2.26.0記念カキコ
936デフォルトの名無しさん:2013/02/18(月) 18:24:26.73
>>935
遅いよ!
937デフォルトの名無しさん: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は個人じゃ開発できないから俺には関係無さげ
938デフォルトの名無しさん:2013/02/18(月) 18:51:31.81
メジャーどこだけ抑えればいいなら、x86/x64とARMに対応しておけば平気だな
939デフォルトの名無しさん:2013/02/18(月) 22:55:34.41
NetBSDカーネルモードでLuaサポート?
どんなメリットあるんだろ
940デフォルトの名無しさん:2013/02/18(月) 23:04:43.80
C++サポートより簡単そう
941デフォルトの名無しさん:2013/02/19(火) 01:24:56.81
PolKitをLL言語にしたらスゴイコンパクトになる予感
942デフォルトの名無しさん:2013/02/21(木) 04:44:27.19
LuaJIT 2.0.1 has been released してる
943デフォルトの名無しさん:2013/02/21(木) 19:32:28.80
速いな
944デフォルトの名無しさん:2013/02/21(木) 22:12:06.44
Lua5.2のluaL_setfuncsのように上位値を共有するC関数って
5.1で作ることはできないんでしょうか?
945デフォルトの名無しさん: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
946デフォルトの名無しさん:2013/02/23(土) 21:02:42.09
でかいな
947デフォルトの名無しさん:2013/02/23(土) 23:03:59.84
Topaz(PyPyというかRPythonでRuby)の例なんかを見ると
Lua(LuaJIT)で他の言語の実装というのもありなんじゃ?と思う
実際どうなんだろ
948デフォルトの名無しさん:2013/02/24(日) 18:51:33.23
作って実証すればいいじゃなーい
949デフォルトの名無しさん:2013/02/25(月) 01:31:19.50
LuaJITで他の言語を実装するメリットがあるほど、LuaJITが移植された(メンテも継続されている)
プラットフォーム数が、実装したい言語の対応プラットフォームより多くないと無意味じゃね?
950デフォルトの名無しさん: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/
951デフォルトの名無しさん:2013/02/26(火) 06:32:18.11
いつのまにかVLCにLuaが組み込まれてんのな
952デフォルトの名無しさん: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を逆アセンブルする必要があるか
953デフォルトの名無しさん:2013/03/01(金) 18:57:13.67
いや、llvmを使って変換する時必要なのはllvm-gccのカスタムバックエンドか
954デフォルトの名無しさん:2013/03/02(土) 08:08:59.71
Awesome window manager って Luaが組み込まれてんのな
955デフォルトの名無しさん:2013/03/02(土) 13:52:59.49
956デフォルトの名無しさん:2013/03/02(土) 14:36:49.59
俺もLuaは好きになれない
これ見るとLuaの長所はフットプリントが小さいって所だけじゃないか
957デフォルトの名無しさん:2013/03/02(土) 14:40:44.34
>>955
そもそも埋め込みがいいとは限らないとか言う時点で・・・
958デフォルトの名無しさん:2013/03/02(土) 14:42:04.31
llex.cとlparser.c、lcode.cので
959デフォルトの名無しさん:2013/03/02(土) 14:56:26.66
>>955
Lua5.2にメジャーアップデートする前の約2年前の記事だし
その人が過去に指摘した問題点も5.2で改善されてたりするしなぁ
960デフォルトの名無しさん:2013/03/02(土) 17:34:42.97
Luaは使えば使うほど味が出るスルメのようなもの。
つまり使わない(使えない)奴には一生良さは分からない。
961デフォルトの名無しさん:2013/03/02(土) 17:38:56.52
スルメのようなものって便利な言葉だな
962デフォルトの名無しさん:2013/03/02(土) 18:00:57.18
そもそもLuaは組み込み用言語。
つまり馬鹿が組んだプログラムにが組み込んでも馬鹿なままなんだよ。
963デフォルトの名無しさん:2013/03/02(土) 18:15:46.47
「もしかしてこの料理にスルメを入れたら合うんじゃないか・・・?」
964デフォルトの名無しさん:2013/03/02(土) 19:00:23.95
「う〜ん、いいスメルだ」
965デフォルトの名無しさん:2013/03/02(土) 19:18:19.29
この世の全てはスルメのようなものとバールのようなもので出来ている
966デフォルトの名無しさん:2013/03/02(土) 20:16:57.01
Luaは、python,rubyみたいなall in oneで外部ライブラリもすぐ追加出来る言語ではないね。
言語とライブラリが単純で拡張性は高いが、必要な外部ライブラリもそれなりにという程度。
どちらかというと、schemeや一時期のjsみたいに自分で成長させる環境かな。
967デフォルトの名無しさん:2013/03/02(土) 20:40:35.00
自分のアプリを制御するための言語としては
コンパクトで良いと思うけどねぇ
968デフォルトの名無しさん:2013/03/02(土) 21:32:27.30
mのつかないrubyのようにOpenSSLとか膨大なライブラリを抱えると
ビルドが複雑化して組み込み用としてはめんどくさい。
まぁ、不要なものは取捨選択できるとしても、
ドキュメント読んだり無駄な作業を増やす。
969デフォルトの名無しさん:2013/03/02(土) 21:39:35.13
自分も、ライブラリを組み込むだけで使える手軽さと組み込みに関する
情報量の多さからLuaにした。
本当は言語としてはマイナーなLuaよりJavaScriptとかの方がよかったけど、
なかなか替わりになるようなものがないよねぇ。
970デフォルトの名無しさん:2013/03/03(日) 00:14:54.19
luaの日本語サイトでナンノコッチャって感じだったが
lua-users覗いたら一発で氷解したわ。
英語スラスラ読める奴が羨ましいわ。
971デフォルトの名無しさん:2013/03/03(日) 00:25:31.78
日本語訳に変なとこがあるからな・・・
972デフォルトの名無しさん:2013/03/03(日) 20:46:20.61
AngelScript|Д`)<英語マジおすすめ
973デフォルトの名無しさん:2013/03/03(日) 21:03:01.49
静的型付け言語のスクリプト言語って少なくね?
動的型付けのものが多いイメージ
974デフォルトの名無しさん:2013/03/03(日) 23:46:02.66
JSXとかHaxe(ただし動的型も使用可能)とか……
975デフォルトの名無しさん:2013/03/03(日) 23:55:39.91
Konohaを忘れてた
976デフォルトの名無しさん:2013/03/04(月) 10:10:30.04
AngelScript|Д`)<静的型付け言語と言えば
977デフォルトの名無しさん:2013/03/04(月) 13:22:26.01
typescriptも。
978デフォルトの名無しさん:2013/03/05(火) 00:47:00.64
AngelScript Version 2.26.1 - 2013/03/02
979デフォルトの名無しさん:2013/03/05(火) 06:45:22.62
ポインタが理解できないとかスタックが理解できないとか
いってるような奴はそもそもプログラマとしての基礎が
なってないか素質がないんだよ。
980デフォルトの名無しさん:2013/03/05(火) 10:22:03.61
急にどうした。
981デフォルトの名無しさん:2013/03/05(火) 11:01:31.84
Lua6.0では待望の
982デフォルトの名無しさん:2013/03/06(水) 00:24:18.39
Lua は今年で20周年なのか
983デフォルトの名無しさん:2013/03/06(水) 08:15:12.78
ポインタ理解しようとするとメモリの構造解析から始めないとw
ブラックボックス化することで汎用性を広げてるのにわざわざCに回帰かよw
ポインタ理解しようと思ったらそれだけで数冊の文献消化せんとアカン。
984デフォルトの名無しさん:2013/03/06(水) 08:20:17.06
↑プログラマに向いてない奴のよい例@
985デフォルトの名無しさん:2013/03/06(水) 08:22:39.54
文献w
986デフォルトの名無しさん:2013/03/06(水) 08:26:09.15
ポインタは基礎科目にいれずに専門分野にせんと裾野は広がらんよ。
987デフォルトの名無しさん:2013/03/06(水) 08:33:43.08
「メモリの構造解析から」といってる時点で既にずれてるもんな
988デフォルトの名無しさん:2013/03/06(水) 08:34:32.82
元々アセンブラから入ったので、Cのポインタで悩む場所が分かりません。
989デフォルトの名無しさん:2013/03/06(水) 08:37:22.70
そもそもポインタなんて日常的概念だしな。
ある店の位置を住所で示したりするわけだし。
990デフォルトの名無しさん:2013/03/06(水) 09:09:28.73
店の位地程度の認識なのかw
991デフォルトの名無しさん:2013/03/06(水) 09:24:14.96
アドレスを指す変数なんだから、"概念"としてはあってるんじゃないのかな。
992デフォルトの名無しさん:2013/03/06(水) 09:33:21.39
それじゃアドレスの説明でポインタじゃないだろ。
993デフォルトの名無しさん:2013/03/06(水) 09:35:02.33
家の大きさを加算すると隣の住所が分かったり
隣の住所と引算して家の大きさを求めたり
住所がポインタ並だったらちょっと便利そう…?
994デフォルトの名無しさん:2013/03/06(水) 09:41:54.13
メモリを知らずにポインタて
995デフォルトの名無しさん:2013/03/06(水) 10:44:45.50
おもいっきりスレ違いで盛り上がれるなんて
きっと自演なんだろうけど埋めついでに

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