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

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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
久しぶりに見ようと思ったら落ちてたよ・・・。
他の人サポ−ト頼む。
前スレ
http://pc2.2ch.net/test/read.cgi/tech/1034182349/l50
本家
http://www.lua.org/
5.0日本語訳
http://www.uri.sakura.ne.jp/~cosmic/yuno/lab/lua5_manual_ja.html
0002デフォルトの名無しさんNGNG
はーはっはっは

いとも簡単に2ゲットできるぜ

文句あるなら言ってみろ
00031NGNG
あ、こっち出してた方が早いか。
http://www.uri.sakura.ne.jp/~cosmic/yuno/lab/
あと、前スレ保存してた人キボンヌ。
0004デフォルトの名無しさんNGNG
うあー保存してねぇよ・・・
ネ申のかきこみは、
・メモリー確保変更パッチ
・Lua弾幕
ぐらいかな?
あとは、GCの話題で少々。
00051NGNG
>>4

暫く書き込みが無いから寂しいと思ってたよ。
0006デフォルトの名無しさんNGNG
暫くスレの存在自体を忘れていたよ
00071NGNG
>>6

俺もだ。見たいときには無くなってる。
0008デフォルトの名無しさんNGNG
でまーニュースとしては、
LuaEclipse
でしょ。やっとでたって感じだね
0009デフォルトの名無しさんNGNG
マジデスカ。
さっそくインスト。
0010デフォルトの名無しさんNGNG
保守
0011デフォルトの名無しさんNGNG
色々と神光臨キボン。
0012デフォルトの名無しさんNGNG
このスレタイ、どうしても

プログラミング言(゚Д゚)ゴルァ

としか読めん。
0013デフォルトの名無しさんNGNG
そういえば、GoLua はどうなった?
0014デフォルトの名無しさんNGNG
CoRoutine内のエラーを調べる方法はないものか・・・
0015デフォルトの名無しさんNGNG
前スレあるけどどうすればいいの?
0016デフォルトの名無しさんNGNG
>>15
あ!素敵!保存サイトきぼん
0017デフォルトの名無しさんNGNG
>>16
めんどいよー。どこかあpろだないっすか?
00181NGNG
http://pc2.2ch.net/tech/kako/1034/10341/1034182349.html

そんな事しなくても過去ログに載ったよ。
ワショーイ
0019デフォルトの名無しさんNGNG
>>18
         ナ ゝ   ナ ゝ /    十_"    ー;=‐         |! |!   
          cト    cト /^、_ノ  | 、.__ つ  (.__    ̄ ̄ ̄ ̄   ・ ・   
0020デフォルトの名無しさんNGNG
wxLua 2.2リリースあげ
http://www.luascript.thersgb.net/
wxWindowのBindよりも、
気合のはいったIDEが素敵
0021デフォルトの名無しさんNGNG
プロトタイプベースのプログラミング言語Io(イオ)も宜しく。

Smalltalk, Act1, Self, NewtonScript, LISP, Lua からアイデアの刺激を受けてます。

http://www.iolanguage.com/
0022デフォルトの名無しさんNGNG
ライトウェイトLanguageスレにすれば、よかったね
0023デフォルトの名無しさんNGNG
公式サイトもいまいち動きないからなぁ。
世代別GCはどうなってんだYO!(MLは読んでない)
0024デフォルトの名無しさんNGNG
世代別にしたからって、止まらなくなるわけでもなく。
0025デフォルトの名無しさんNGNG
単なる Generational じゃなくって Incremental Generational なんじゃないの?
0026デフォルトの名無しさんNGNG
>>24
まぁ、俺はそこまでのリアルタイム性は求めてないからな…
とりあえず、「GC時間が全オブジェクト数に比例する」ってのが緩和されればOK。
0027デフォルトの名無しさんNGNG
luaで何をするか
それが問題だ
0028デフォルトの名無しさんNGNG
Cintも使い始めてるんだが、色々わからん。
0029デフォルトの名無しさんNGNG
保守
0030デフォルトの名無しさんNGNG
>>18
>CoRoutine内のエラーを調べる方法はないものか・・・
Resumeの戻り値にエラーのストリングはいります。
0031デフォルトの名無しさんNGNG
そういえば、coroutineの実行が終わったかどうかも
エラー調べないとわかんないんだよね。
0032デフォルトの名無しさんNGNG
非同期との戦いでは、エラーチェックは必須スキルです。
0033デフォルトの名無しさんNGNG
保守
0034デフォルトの名無しさんNGNG
早くも落ちそうな勢いやね。
公式サイトも↓こんな動きしかないし…
28 Jul 1993
Lua 1.0 was up and running. This is the earliest implementation of Lua that
we have found to date.
0035デフォルトの名無しさんNGNG
>34
…何か違わないか?
0036デフォルトの名無しさんNGNG
正直、JavaScript覚えた方が良い気がする。
なんか似てるし。
0037デフォルトの名無しさんNGNG
組み込み用JavaScriptも何種類かあるけど、速度的にはどうなんだろ?

>>35
「we have found to date.」ね。
はてなアンテナの差分を信じるなら、この文が10/11に追加されてる。
0038デフォルトの名無しさんNGNG
LuaをC/C++と連携させる目的以外で、
なにかメリットを探そうとしないほうがいいと思う。
連携させない前提で他言語との比較は、なんだかなぁって感じる。

>組み込み用JavaScript
ものすご気になるw
0039デフォルトの名無しさんNGNG
MozillaのSpiderMonkey
http://www.mozilla.org/js/spidermonkey/
とか
NJS JavaScript Interpriter
http://www.bbassett.net/njs/
とか。

NJSのほうは、言語比較サイト
http://www.bagley.org/~doug/shootout/
で、結構いい成績出してるんだよね。
Mozillaのほうは昔ちょっとやっただけだけど、とりあえずMozillaの他の
大量にあるコンポーネントには依存してなくて単体で使えたような記憶。
0040デフォルトの名無しさんNGNG
>39
おぉサンクス!
中間言語にコンパイルするのかどうか、調べてみます。
0041デフォルトの名無しさんNGNG
njsはソース見りゃわかるけどコンパイルするよ。
コンパイラをバイトコ−ドの形式で配布してるから
改造二次配布防止のセキュリティもばっちりだべ
0042デフォルトの名無しさんNGNG
luaで、数行にわたるプログラムのコメントアウト
全部に--つけるのめんどくさい、あなたに。

rem= { [[
...
...
]] }

で囲んでしまうと。(つまんなくてすまそ・・・)
0043デフォルトの名無しさんNGNG
複数行コメント --[[
......
]] があるっしょ?
004442NGNG
はずかしいかぎり・・・。
0045デフォルトの名無しさんNGNG
C/C++と連携して使う時に威力を発揮する言語なら
なるべくC/C++と文法を同じにしてほしかったなぁ
0046デフォルトの名無しさんNGNG
俺はあんまり気にならないな。
普段から複数言語を使い分けてるせいだろうか?
0047デフォルトの名無しさんNGNG
>45
それ、めちゃくちゃ同意!
そうだったら、もっとはやってたような気がする・・(日本で)
0048デフォルトの名無しさんNGNG
このスレはやく消費して
組み込み用(もしくは軽量)言語スレにしようぜ。
という漏れはLUAに激しく萌えています(今は)
0049 NGNG
Lua5.0 で lua_getn ないんすけど(´д`;)
0050 NGNG
ぅお古かっただけでした

THluaの古いじゃん!
コンパイル面倒くせー
0051デフォルトの名無しさんNGNG
>>48
このままここで軽量言語スレしてもいいんじゃない?
とりあえず、ネタを出してみれ。

もりあがるようなら、ココ放置してスレ立てよう。
0052デフォルトの名無しさんNGNG
>>45
ただ、
* 文字列はどうする?
* 型宣言したい?
* プリプロセッサ?
* C の標準ライブラリって使いやすい?
とか考えてくと、C のようで C じゃない気持ち悪い言語になるかも。

creat 問題に似てる。
0053デフォルトの名無しさんNGNG
俺が知ってる計量言語、作者日本人のやつ

Cmm
http://www.rpm.or.jp/home/pon/computer0.html

ラムダ
http://www.kurumi.sakura.ne.jp/~kdv/products/lambda/

TJS2
http://www.ultrasync.net/dee/kr2helps/tjs2doc/contents/


0054デフォルトの名無しさんNGNG
>>52
文法と機能は分けて考えれるんじゃない?
if x ~= 0 then
..
end

if(x != 0){
..
}
と書きたいとか、そういう話でそ?
文字列もテーブルも今のままでいいし。
でもCの文法には文字列連結演算子や累乗演算子ないよねぇ。匿名の関数も・・・
0055デフォルトの名無しさんNGNG
無名についてはgccの拡張に習えばいいんじゃねーの
00561NGNG
>>45

Cint

http://root.cern.ch/root/Cint.html
0057デフォルトの名無しさんNGNG
>>54 そうそう。そんな感じ!
0058デフォルトの名無しさんNGNG
ゲームに使われてる実績もある、ライトウェイト言語
http://www.compuphase.com/small.htm
0059デフォルトの名無しさんNGNG
>>58
レビューよろ
0060デフォルトの名無しさんNGNG
small
文法がCににてます。
0061デフォルトの名無しさんNGNG
luaもそうだけど、smallはインタプリタがなんか使いにくかったよ。
smallはJITで超速くなるよ。
0062デフォルトの名無しさんNGNG
インタプリタが使いやすい(Cから使いやすいって意味?)言語を上げてもらえるとうれしいかもかも。
0063デフォルトの名無しさんNGNG
Da Da Da

http://www.nbk.gr.jp/song.html

0064デフォルトの名無しさんNGNG
そういえば、
Lightweight Languages 2003 (LL3)
http://ll3.ai.mit.edu/
こんなのやってるんだね。

去年はRubyも発表してたみたいだが、RubyもLightweightなの?
0065デフォルトの名無しさんNGNG
http://www.ai.mit.edu/~gregs/ll1-discuss-archive-html/threads.html
なんかMLにGuy Steele がいるよ・・
すげーとか思った。
0066デフォルトの名無しさんNGNG
smallって今話題のHL2の前の奴に使われてたらしいね。
0067デフォルトの名無しさんNGNG
>54ので、selfをthisにしたら、もっとLUA好きになるかもしれん。
こめんとアウトもこれ。 // /* */
こんな感じでGoLuaにならんかしら。
0068デフォルトの名無しさんNGNG
パーサを書き換える?
0069デフォルトの名無しさんNGNG
問題はブロックかな。
do end -> { }
にしたときのテーブルの定義とかぶらんかな。
Luaのパーサ、混乱するんでない?
do until もあやしい。
0070デフォルトの名無しさんNGNG
たぶん大丈夫だろう・・・
{}.x = 4
とかいうアホなコードは意味ないから、文頭に{が現れたらブロック、で単純にいけると思う。
0071デフォルトの名無しさんNGNG
質問です。
Luaから呼び出されるCの関数で、
テーブルを返すのはどうしたらいいの?

いま、点の座標を返す関数を
つくってるんだけど・・・

lua_pushnumber( L, x);
lua_pushnumber( L, y);
lua_pushnumber( L, z);
return( 3 );

これをテーブルで返したいっす。
よろしくお願いします〜



0072デフォルトの名無しさんNGNG
/* 多分こうじゃないかと。 */
/* Create new table. */
lua_newtable(L);

/* Push x. */
lua_pushstring(L,"x");
lua_pushnumber(L,x);
lua_settable(L,-3);

/* Push y. */
lua_pushstring(L,"y");
lua_pushnumber(L,y);
lua_settable(L,-3);

/* P(ry */
lua_pushstring(L,"z");
lua_pushnumber(L,z);
lua_settable(L,-3);

return 1;
0073デフォルトの名無しさんNGNG
>72
ぬおおお!サンクス!!
ありがとうございます!
0074デフォルトの名無しさんNGNG
Game Programming With Python, Lua, and Ruby (Game Development)
ttp://www.amazon.com/exec/obidos/ASIN/1592000770/qid%3D1067847928/sr%3D11-1/ref%3Dsr%5F11%5F1/104-3613930-5877559
0075デフォルトの名無しさんNGNG
>74
ほぉぉ・・
Rubyもはいってんじゃんね。
ゲームつくるのにはさ、LuaのCoroutineがめちゃ便利
だと思うんだけどさ・・
Pythonにはなんかあったよね、ファイバーだっけか?
Rubyにはそんなのあんの?
0076デフォルトの名無しさんNGNG
Thread
0077デフォルトの名無しさんNGNG
Rubyはそもそも継続をサポートしてなかったっけ?
0078デフォルトの名無しさんNGNG
Rubyをゲームに組み込んで使った例ってあるのかな?
そっちのほうが気になる。
0079デフォルトの名無しさんNGNG
ゲームとはちょっと違うが、伺かの偽AI用のスクリプトにRubyを使うってのは
二つほど見たことがある。
008074NGNG
このシリーズは何気に面白そうです。
スクリプトの本とか。
http://www.premierpressbooks.com/ptr_catalog.cfm?group=Game%20Development
0081デフォルトの名無しさんNGNG
GDC2003のセッションの中にこんなのがあった

Lua in the Gaming Industry
Speaker(s): Jonathan Burns, David Eichorn
Time/Date: TBD
Format: Roundtable
Level: All - Open to All Levels
http://www.cmpevents.com/GDx/a.asp?option=C&V=11&SessID=2272
0082デフォルトの名無しさんNGNG
GDC2004だった。。。sage
0083デフォルトの名無しさんNGNG
保守age
0084デフォルトの名無しさんNGNG
lua そのものに絞った本はまだ出版されてないのですか?
英語 or 日本語で。
ポルトガル語だとありそうだけど。
0085デフォルトの名無しさんNGNG
http://www.lua.org/docs.html
↑ここに、「The first draft of the book "Programming in Lua" by
R. Ierusalimschy is now available. 」とか書きかけの奴があるけど
全然更新されて無いね。
0086デフォルトの名無しさんNGNG
本だすほど、複雑でも無いんじゃないかな・・・
0087デフォルトの名無しさんNGNG
複雑だから本出せと言ってるのではない。
0088デフォルトの名無しさんNGNG
mingwでコンパイルしてlua.exeとかを
作りたいのですがどうやればいいですか?
configファイルを変更しないとダメですか?
0089デフォルトの名無しさんNGNG
>>88
Read the FAQ in >>3.
009088NGNG
FAQとBuilding Lua読んでもわからないDQNでも
コンパイルできる方法を教えてください神様!
0091デフォルトの名無しさんNGNG
Building Lua にずばり書いてあるじゃない。
0092デフォルトの名無しさんNGNG
(Windows) mingw-msys

Here are config [2] and Makefile [3] samples
used successfully to build Lua 5.0-beta (with the LuaBinaryModules enhancements).
No changes are necessary to the Makefiles in Lua's subdirectories.
Use the target dll (i.e., "make dll") to build everything with lua.exe
and luac.exe using lua.dll and lualib.dll.

これだけではわかりかねまする。
0093デフォルトの名無しさんNGNG
何をやってどうだめだったかを書いてみて。
コピペ貼られても困る。
0094デフォルトの名無しさんNGNG
>>93
まず、configを開いてみたら
# == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT =======
とあるので読み進めると、
# On Windows systems. support for dynamic loading is enabled by default.
# To disable this support, uncomment the next line.
#
#LOADLIB= -DUSE_DLL=0
とか
# The Lua IO library (src/lib/liolib.c) has support for pipes using popen and
# pclose. This support is enabled by default on POSIX systems.
# If your system is not POSIX but has popen and pclose, define USE_POPEN=1.
# If you don't want to support pipes, define USE_POPEN=0.
#
#POPEN= -DUSE_POPEN=1
#POPEN= -DUSE_POPEN=0

というふうに何かの注意書きがあって、一行空けた後に式が書いてある。
ここをどう変更すればいいのかわからない。

それと、>>92
No changes are necessary to the Makefiles in Lua's subdirectories.
Use the target dll (i.e., "make dll") to build everything with lua.exe
and luac.exe using lua.dll and lualib.dll.

の意味がよくわからない。

なんとなくつかんだ印象は、configを自分の環境にあうように変更してから
MSYS(mingw)を使ってmakeと打てばバババババババーとコンパイルが
始まってlua.exeやらluac.exeが出来上がる。

0095デフォルトの名無しさんNGNG
もしかして、
# On Windows systems. support for dynamic loading is enabled by default.
# To disable this support, uncomment the next line.
#
#LOADLIB= -DUSE_DLL=0
は、#を消せば良いだけか?

#LOADLIB= -DUSE_DLL=0

LOADLIB= -DUSE_DLL=0
0096デフォルトの名無しさんNGNG
cygwinでの話だけど、configのMYCFLAGSとMYLDFLAGSに-mno-cygwinを追加するだけで、
mingw用のバイナリ(cygwin1.dllに依存しないバイナリ)が出来てしまうんだが?

mysysの方は環境が無いんで、わからん。
0097デフォルトの名無しさんNGNG
>>95
を見る限り英語を読もうともしない人にしか思えんのだが。
0098デフォルトの名無しさんNGNG
socket と cdbを利用したいんだが、
どう buildしたらいいのかな。
009995NGNG
ダメだまったくわからん。
0100デフォルトの名無しさんNGNG
bccでファイル一式同じフォルダに入れて
> bcc32 *.c -olua.exe
とやったら生成ファイル名がlapi.exeになったんだけど、何故にlua.exeでないの?
普通に実行できるようだからいいけど、なんか気になる…
0101 NGNG
-o lua.exe ?
■ このスレッドは過去ログ倉庫に格納されています