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

プログラミング言語 Lua  その3

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2006/10/14(土) 13:13:52
だれか サポ−ト 頼む。
前々スレ http://pc5.2ch.net/tech/kako/1034/10341/1034182349.html
前スレ http://pc8.2ch.net/test/read.cgi/tech/1063711237/
本家 http://www.lua.org/
lua-users http://lua-users.org/
LuaForge http://luaforge.net/
Lua 5.1 リファレンスマニュアル(日本語訳)
http://sugarpot.sakura.ne.jp/yuno/html/lua51_manual_ja.html
0508デフォルトの名無しさん2007/10/27(土) 17:55:59
再現するソースを見せるんだ
05095072007/10/27(土) 18:26:57
//関数呼び出し部分
lua_getglobal(m_L, "hoge");
lua_pcall(m_L, 0, 1, 0); //ここでエラー
int ret = static_cast<int>(lua_tonumber(m_L, -1));

//luaファイルで定義した関数
function hoge
return math.random(100);
end

luaL_loadfile()は呼び出し済みです。
05105062007/10/27(土) 19:03:01
>>507
戻り値が0以外の時は文字列型のエラーメッセージが
スタックのトップに置かれているからそれを見れ。
0511デフォルトの名無しさん2007/10/27(土) 19:52:02
>>509
luaopen_math呼んで無いじゃん。
呼んでる部分を含めた再現ソースを見せなさい。
05125072007/10/27(土) 22:31:55
>>510
スタックトップのエラーメッセージを調べたら引数が足りないというエラー
でした。マニュアルにはmath.randomの定義は以下のように書いてあったので
普通に通るもんだと思っていたんですが・・・
「引数無しで呼ばれると、math.random は [0,1) の範囲の実数の疑似乱数を
返す。数値 n を渡すと、math.random は [1,n] の範囲の整数の疑似乱数を
返す。 2つの引数 l と u を渡して呼んだときは、 math.random は [l,u]
の範囲の整数の疑似乱数を返す。」
引数を2個で渡すとエラーは出なくなったんですが、常に0が返ってきます。
引数0個だと正常に動作します。何なんでしょうね。

>>511
luaopen_mathは呼んでいます。
0513デフォルトの名無しさん2007/10/27(土) 23:22:03
>>512
再現する最小限のソースを全て晒したら?
省略する奴に限って、省略したところに問題があるのはよくある話だから。
0514デフォルトの名無しさん2007/11/02(金) 01:34:46
ミニマムコードを上げろー
0515デフォルトの名無しさん2007/11/02(金) 03:54:43
このスレ的にはTJS2の組み込みってどうなの?
0516デフォルトの名無しさん2007/11/02(金) 04:49:28
スレ違い
0517デフォルトの名無しさん2007/11/02(金) 08:13:59
え?べつにいいんじゃないの
LLでしょTJS2って
0518デフォルトの名無しさん2007/11/02(金) 08:19:06
pLua (Lua wrapper for FPC, Lazarus, and Delphi)
http://eonclash.com/ViewProduct.php?ProductID=26
0519デフォルトの名無しさん2007/11/02(金) 15:32:46
>>517
スレタイ嫁
ここはLL全般じゃなくてぅあのスレだ。

つっても過疎ってるから俺は構わないけど。
0520デフォルトの名無しさん2007/11/02(金) 18:55:19
List[1]={"name","addr","phone"}
List[2]={"name","addr","phone"}
List[n]={"name","addr","phone"}

このような記述のList.luaがあるとして、これをrequireした後に書き出しすると、

List[4]={"name","addr","phone"}
List[1]={"name","addr","phone"}
List[3]={"name","addr","phone"}
List[2]={"name","addr","phone"}

のように、順序が崩れてしまいます。
テーブルのソートとはどのように行うのでしょうか?
0521デフォルトの名無しさん2007/11/02(金) 19:04:32
>>520
1から始まる数値キーなら
for i,v in ipairs(List) do ... end
で回せばキーの順序はずれないと思うんだけどな。

実際ソートするならこれだけど。
table.sort(table, function(a,b) return a.x < b.x end)
みたいな。

ただこれでソートするにしても、テーブルは配列状(キーは1から始まる数値)である必要がある。
0522デフォルトの名無しさん2007/11/02(金) 19:07:27
>>521
ありがとうございます。

現在のところ、

List[2]={"name","addr","phone"}
List[3]={"name","addr","phone"}
List[n]={"name","addr","phone"}

などのように1から始まる保証は無く、かつ数値が2, 3, 5, 6, 8, ...のように
飛び番になる可能性もあります。
実際のところ、処理上は問題は出ないのですが、
ログを取った際の可読性の問題でソート可能であればしたいのです。
0523デフォルトの名無しさん2007/11/02(金) 19:22:39
>>522

Listとは別に、

sort_table[1]={no=5,"name","addr","phone"}
sort_table[2]={no=1,"name","addr","phone"}
sort_table[3]={no=13,"name","addr","phone"}
....

って形に詰めなおして>>521みたいにnoでソートすればおk
0524デフォルトの名無しさん2007/11/02(金) 23:05:56
>>519
前スレ嫁。ここはLL全般のスレだ。

お前が構おうが構うまいがな。
0525デフォルトの名無しさん2007/11/02(金) 23:27:58
>>524
お前が構おうが構うまいがここはスレタイ通りLuaのスレだ。
ここが何のスレかを知るのになぜ前スレを読む必要がある?

LL全般について議論したいのならお前がLLスレを立てればいいだけのこと。
0526デフォルトの名無しさん2007/11/02(金) 23:45:50
>>524-525
前スレみるまでもなく>>8-11辺りでわかるんじゃ?
スレも半分超えてるのになんで今更突然……。
0527デフォルトの名無しさん2007/11/03(土) 01:00:15
ぅあだけでもいっぱいいっぱいなのに
LL一般扱ってたらスレがいくらあっても足りないぜ
0528デフォルトの名無しさん2007/11/03(土) 05:06:28
>>525
はいはい、新参が知ったかすんな。


>>527
何が一杯一杯なの?

つうか、お前過疎ってるから構わないって言った癖に意味不明すぎんな。
0529デフォルトの名無しさん2007/11/03(土) 08:40:49
1年経で500レス程度だからLL全般スレでも良さげだな。
次スレ(いつになるかわからんけど)のスレタイは変えたほうが良いかもね。
0530デフォルトの名無しさん2007/11/03(土) 08:48:29
情報が錯綜するからLuaがらみの話題だけでいいよ。
勝手に連立政権にされちゃ迷惑だ。
0531デフォルトの名無しさん2007/11/03(土) 10:53:29
せいぜい Luaとその仲間 ぐらいかな。

LL特集になぜかLuaは入れてもらえないことが多いんだこれが
0532デフォルトの名無しさん2007/11/03(土) 11:07:19
なんでだろう?
Webサーバとの組み合わせを指向してないからかな?
0533デフォルトの名無しさん2007/11/03(土) 11:28:57
>>519
違う。
組み込み言語全般のスレ。
過去ログ嫁

スレタイは、前回、組み込み言語にしろって言ったのに、
Luaだけにしやがっただけで
0534デフォルトの名無しさん2007/11/03(土) 11:35:56
「俺様はそうしろと言ったのに無視しやがって」
0535デフォルトの名無しさん2007/11/03(土) 11:39:37
>>534
ワロタw
まさしくその通りw
0536デフォルトの名無しさん2007/11/03(土) 11:59:15
>>534
そうですw
0537デフォルトの名無しさん2007/11/03(土) 12:51:30
前スレでもLuaの話題なんてたいしてなかったんで、LL系の話題は全般取り扱うことになったの。
このスレ用のwikiもURLはluaだけど、LLならOKってなってるでしょ。
http://wikiwiki.jp/lua/


「情報が錯綜する」ってバカですか。
錯綜するほど情報が出てないでしょ。
むしろ組み込み言語の情報が集まった方がいい。

>>534=535=536
そうじゃない。前スレではLL全般ということで同意がとれていていた。
0538デフォルトの名無しさん2007/11/03(土) 12:55:10
>>537
そんなに煽りに反応しなくて良いよ。
0539デフォルトの名無しさん2007/11/03(土) 12:56:14
前スレの終わり辺りではLL全般のスレにしようって流れだったんだけど、
なんだかんだでスレタイは変わらなかったんだよ。
前スレDAT落ちしてる上に、1年以上も前の話だから、
忘れてる人も多いだろうし、最近来た人が知らないのはしょうがない。
0540デフォルトの名無しさん2007/11/03(土) 12:56:41
ちなみに俺は533ではない。

てか、ここ一年未満の新参が増えて、古参はluaをもう見放したのか?
0541デフォルトの名無しさん2007/11/03(土) 13:13:34
squirrelが気になってます
0542デフォルトの名無しさん2007/11/03(土) 15:21:49
>>540
ノシ 前スレからいます。

テンプレがあまり良くないよね。
前スレの終り頃はゴタゴタしてて急だったから立ててくれた人を責められないけど。

人も集まってるみたいだしテンプレを考えるにはいい機会かも。
できたら>11のWikiに書いておくと。
0543デフォルトの名無しさん2007/11/04(日) 21:18:36
LL全般スレになったらlua専用スレ立てればいいだけじゃんw
民主主義は多数決で決まるんだよ、ばかがw
0544デフォルトの名無しさん2007/11/04(日) 22:29:07
多数決も取ってないのによく言えるね、ばかがw
0545デフォルトの名無しさん2007/11/04(日) 23:50:22
というか、たぶんLua専用する理由ってなに?
このLL全般でやってる現在でさえスローペースなんだよ? 全然意味がわからない。
0546デフォルトの名無しさん2007/11/04(日) 23:52:22
日本語で言え俺orz

えー、Lua専用にしようという意見があるみたいなんですが、
別にレスも多いわけではないしそういった話が出る理由がわかりません。

……なんか、ごめん……。
0547デフォルトの名無しさん2007/11/05(月) 00:06:05
Lua専用にするっていうか,別に総合スレをLuaスレにしようって言ってるわけじゃなし.
今Lua専用なんだから格別の理由がなければそのままだろ.
過疎スレは過疎スレなりに3スレまで来てるんだし
わざわざ総合にするって話が出る理由がわかりません.
0548デフォルトの名無しさん2007/11/05(月) 00:16:03
別にLL総合スレを立てて、Luaスレが寂れて落ちるようなら
統合と言うことでいいんじゃない?
現状うまくいってるところを、わざわざ乱すこともないと思う。
0549デフォルトの名無しさん2007/11/05(月) 00:17:56
元々スレタイはLuaだけど、内容的には総合スレ同然だと思うが。
0550デフォルトの名無しさん2007/11/05(月) 01:23:03
そこの認識だよね。
ここが『Lua専用』だと思ってる奴って前スレとか持ち出すまでもなくこのスレ読んでないんじゃないかと。
0551デフォルトの名無しさん2007/11/05(月) 01:34:36
687 :1:2006/03/16(木) 16:08:48
とりあえず、Wikiでも作ってみようかと思うんだが必要?

694 :デフォルトの名無しさん:2006/03/17(金) 09:57:30
このスレのWikiを作ろうかって話なんだから
看板はLuaで一応Luaの情報メインだけど
アプリ組み込み系なら多少の脱線はあり、ぐらいでいいだろ。
メジャーな言語は他所でやってくれ。

695 ::2006/03/17(金) 17:49:21
LightWeightLanguageがでかすぎるから。
やっぱ組み込み向けscriptつーことで

701 :デフォルトの名無しさん:2006/03/18(土) 21:36:56
なしてそこまでLightWeightLanguageでまとめたがるのか
明らかにLua wikiの方がわかりやすいタイトルと思うのだが

703 :デフォルトの名無しさん:2006/03/19(日) 02:18:56
このスレが、LightWeightLanguageの情報OKってなったからだろ。

LuaだけでWikiほんとに必要か?
マニュアルだけで結構十分じゃない?w

このスレの情報の出具合からいっても、
Wikiつくっても寂れるの見えてない?


↑前スレですでに総合スレにする流れになってたし、
そもそも前スレでも総合的に扱ってたはず。
このスレの最初のほうにも書いてあるし。
0552デフォルトの名無しさん2007/11/05(月) 08:40:28
>>547-548
お前、これまでの話聴いてなかったのか?
0553デフォルトの名無しさん2007/11/05(月) 09:30:03
>>547-548
・・・
ほんとにもう・・・乱してるのがおまえらだよ にわか
0554デフォルトの名無しさん2007/11/05(月) 13:32:10
LuaLuaいってるやつは
上でさんざんでているsquirrelはなんだと思っているんだろう
0555デフォルトの名無しさん2007/11/05(月) 18:26:14
これとか?
http://sourceforge.net/projects/squirrel-sql/

検索ついでにテンプレ用にsquirrel関連を拾っておくか
The programming language Squirrel
http://www.squirrel-lang.org/
http://sourceforge.net/projects/squirrel/
SqPlus http://sourceforge.net/projects/sqplus/
Squirrel Shell http://sourceforge.net/projects/squirrelsh/
0556デフォルトの名無しさん2007/11/05(月) 20:42:18
>>554
"squirrel"でこのスレを検索すれば、
lua専用スレじゃないということは、前スレを見るまでも無くあきらかだな。
0557デフォルトの名無しさん2007/11/06(火) 01:52:37
SquirrelはLuaからの派生だからどちみちここで良いのでは。
0558デフォルトの名無しさん2007/11/06(火) 02:00:57
別にluaからforkしたわけじゃないんで、派生とはいえない けど、
squirrelはこのスレでいいのは事実
0559デフォルトの名無しさん2007/11/10(土) 06:44:52
次スレタイトル案
【Lua】LightWeightLanguage統合【squirrel】
【Lua】組み込み言語統合【squirrel】
0560デフォルトの名無しさん2007/11/10(土) 07:04:42
>>243に一票
0561デフォルトの名無しさん2007/11/10(土) 07:22:32
Squirrelの情報欲しい人の為にもスレタイにSquirrelは欲しい気がする
そうすりゃSquirrelスレが立つ心配も無さそうだしな

…ところで、次スレの話はまだ早すぎないか?
何だか、自分超元気なのに次期国王の話を聞かされる王様の気分だ
0562デフォルトの名無しさん2007/11/10(土) 07:48:54
ぅあで喜んではしゃいでたのはやっぱりニワカか。

なんか違和感あったんだよな。
0563デフォルトの名無しさん2007/11/10(土) 08:19:44
Squirrel重すぎ
0564デフォルトの名無しさん2007/11/10(土) 09:02:58
ぎりぎりになって決まってなくて結局いまのまま……みたいなのは避けたい。
0565デフォルトの名無しさん2007/11/10(土) 09:48:25
>>559
なかなかいいんじゃないかな

>>562
このスレがLuaで機能してるから他の言語くるな、なんて
質問しかしないような奴がいいそうなこったな
0566デフォルトの名無しさん2007/11/10(土) 11:07:01
そしてPerl, Ruby, Python, PHP, JavaScriptで埋め尽くされる、と
0567デフォルトの名無しさん2007/11/10(土) 11:51:30
566 ニワカ乙
0568デフォルトの名無しさん2007/11/10(土) 12:28:24
守備範囲は
・アプリ組み込み用
・軽量小規模言語
・他にスレがない
あたりかな。巷のLLとはちょっと違う気がする。
LL自体定義があるのかよくわからないが。
0569デフォルトの名無しさん2007/11/10(土) 13:11:20
>>568
ニワカ乙
0570デフォルトの名無しさん2007/11/10(土) 13:43:20
>>568
そんなとこだろうな というか
ずっとそんなスレのつもりだった
0571デフォルトの名無しさん2007/11/10(土) 14:09:13
LLだと、RubyやPythonも入るからな・・・
いや、組み込む話題については、歓迎かも知れんけど
0572デフォルトの名無しさん2007/11/10(土) 14:19:33
JavaScriptも当然入るな。
PHPは組み込みあったっけ。
0573デフォルトの名無しさん2007/11/10(土) 15:45:11
>>571
そっち系の話題は向こうのスレじゃあんま出ないしな。
いや、もちろん出してもスレ違い扱いされたりはしないだろうが。
0574デフォルトの名無しさん2007/11/10(土) 23:40:43
>568 の箇条書きをもとに
>571-573 のニュアンスを加えて文章にしてみた。

[[
アプリケーション組み込み用の小規模言語についてのスレです。
話題の中心はLua、Squirrelですが他の言語もOK。
]]
0575デフォルトの名無しさん2007/11/10(土) 23:46:17
1に何書こうが誰も読みゃしないのでスレタイに注意を払うべき
0576デフォルトの名無しさん2007/11/11(日) 03:59:09
>>559
> 【Lua】組み込み言語統合【squirrel】
に一票
0577デフォルトの名無しさん2007/11/11(日) 06:37:50
スレタイとは全然関係ないことなのですが、いくつか質問があります。
よろしくお願いします。

1,luaの実行を内部から一時停止、外部から再開する方法にcoroutine以外のやり方はありますか?
2,luaの実行を外部から一時停止&再開することはできますか?
3,フックされた関数からluaを一時停止させることはできますか?
05785772007/11/11(日) 07:45:09
スレタイとは関係あります
「スレタイ変更とは関係ありません」でした><
0579デフォルトの名無しさん2007/11/12(月) 20:12:36
>>577
1、2はファイバorスレッドorプロセスが絡む話なの?
そうであればやり様はいくらでも有る。実行コンテキストを
変えずにという意味であれば他に方法は無いと思う。
3、”フックされた関数”=>”Luaから呼ばれたC言語の関数”という
意味であればlua_yieldを使うかcocoを使うか。
0580デフォルトの名無しさん2007/11/14(水) 01:03:42
>>579
フック関数からyieldできるなんて意外でした。
ありがとうございます。
0581デフォルトの名無しさん2007/11/14(水) 15:41:09
C側から実行されたluaプログラムを
gdbやvcのような環境でデバッグできませんか?
0582デフォルトの名無しさん2007/11/14(水) 16:11:03
できない

だけど、Lua専用IDEからならできるよ
Decoaだっけ
0583デフォルトの名無しさん2007/11/14(水) 23:55:43
>>581
Decodaは割合評判いいらしいね。

他に名前聞いたものとしては
VSLua(有料)
LuaEdit(無料・微妙というか未完成)

wxLuaにもビジュアルデバッガついてたような気がするけど、embed環境で動かせるかどうかは不明。
0584デフォルトの名無しさん2007/11/17(土) 19:26:16
>>592
>>593
Decodaいいですね。組み込みで使いたかったです。
LuaEditも試してみたのですが、luaをdllにする必要があるのと、
そのdllのバージョンを合わせるのが大変で途中でやめてしまいました。
luaの自作ライブラリをdllにしてしまった方が早そうな感じです。
どもでした。
0585デフォルトの名無しさん2007/11/17(土) 19:36:03
>>592>>593の人よろしく
0586デフォルトの名無しさん2007/11/17(土) 21:47:01
ループの先頭に戻るという処理は、
continueでしょうか、nextでしょうか?

ttp://uri.sakura.ne.jp/~cosmic/yuno/lab/lua5_manual_ja.html
この辺を参考にしているのですが、breakなどしか見当たらなくて困っています。
0587デフォルトの名無しさん2007/11/17(土) 22:15:10
>>586
何故か無い
0588デフォルトの名無しさん2007/11/17(土) 22:32:33
continueないんだよねー
海外でもこの話題ちらほら見かけるけど。何故無いのかは知らない。

"continue" construct in Lua loops
ttp://lua-users.lua.org/lists/lua-l/2006-12/msg00440.html
0589デフォルトの名無しさん2007/11/17(土) 23:11:01
なるほど、Luaには存在しないんですね。。
レスありがとうございました。
0590デフォルトの名無しさん2007/11/18(日) 05:35:00
新しいバージョンが出ると誰かがcontinueパッチを作ってるはず
0591デフォルトの名無しさん2007/11/18(日) 14:31:58
continueが必要なループはイテレータのようにfunction作成してreturnしてる。
breakも必要なときは返値で判定。
0592デフォルトの名無しさん2007/11/18(日) 15:05:18
breakはまだしも、continueをreturnで代用?
コード汚そう。
0593デフォルトの名無しさん2007/11/18(日) 15:55:19
prototype.jsのeachのようになるからそんなでもない。
0594デフォルトの名無しさん2007/11/18(日) 15:57:24
いちおう言っておくと「だからcontinueいらない」って話ではなく。
continueあったほうがそりゃ素直に書けるしなあ。
0595デフォルトの名無しさん2007/11/18(日) 18:31:11
>>593
汚いじゃん
0596デフォルトの名無しさん2007/11/18(日) 18:35:45
>>593
最悪レベルの汚さだと思う
0597デフォルトの名無しさん2007/11/20(火) 00:10:47
Lua本(゚∀゚)コター!!
ttp://staff.aist.go.jp/yutaka.ueno/lua/docsjp.html
0598デフォルトの名無しさん2007/11/20(火) 00:47:15
コタワァ*:.。..。.:*・゚(n‘∀‘)η゚・*:.。..。.:* ミ ☆
0599デフォルトの名無しさん2007/11/20(火) 01:21:05
しかも今年中の予定か。
実現したら自分へのクリスマスプレゼントにする……っ!
0600デフォルトの名無しさん2007/11/20(火) 01:26:39
なにかの死亡フラグに見えた
0601デフォルトの名無しさん2007/11/20(火) 15:30:26
日本語解説書期待age
0602デフォルトの名無しさん2007/11/21(水) 08:30:15
かつてPascalにもbreak、continueなくて、
まあそれでも別に困らんかったから、
改造してまで付けるほどでもないなワシは
0603デフォルトの名無しさん2007/11/21(水) 23:13:33
SJISのソース内にリテラルを埋め込む際の文字化けについて悩んでいるのですが、
文字化けする2バイト文字の一覧のようなものってどこかに載っていないでしょうか?
0604デフォルトの名無しさん2007/11/22(木) 00:40:33
>>603
文字化けはエスケープシーケンスのせい。
"abc"じゃなくて[[abc]]使うといい。
0605デフォルトの名無しさん2007/11/30(金) 11:15:33
やったー 予約始まってるよー^^/

入門Luaプログラミング
http://www.amazon.co.jp/dp/4797342722/
0606デフォルトの名無しさん2007/11/30(金) 12:58:19
一ヶ月後か
期待age
0607デフォルトの名無しさん2007/11/30(金) 14:01:17
http://www.nicovideo.jp/watch/sm1634783
■ このスレッドは過去ログ倉庫に格納されています