プログラミング言語 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
0449444
2005/05/18(水) 23:47:56SpiderMonkeyのライセンスがよく分からなかったのが問題です。
前にSpiderMonkeyを取ってきて見てみたらライセンスのファイルが
見当たらなかったです。ソースの先頭には書いてあったが、
ソース毎に違うライセンスの奴だったりって記憶にあるんですが・・。
つか、もしSpiderMonkeyのライセンスを記述してるサイト等が
あったら教えて欲しいです。
つか、SMって省略はどうよ?
0450デフォルトの名無しさん
2005/05/19(木) 01:38:20mozillaのコードの一部ならばMPLじゃなかろうか。
(MPL/GPL/LGPLのどれでも適用可能、という方向みたい)
http://www.mozilla-japan.org/MPL/
http://www.mozilla.org/MPL/
Netscapeで使われているとおり、プロプライエタリな使い方も可能ぽいけど、
いろいろ複雑そうだ。
0451Rubyist!
2005/05/20(金) 02:31:200452デフォルトの名無しさん
2005/05/20(金) 03:25:51こういうのってライセンス厨のオナニーにしか見えない。
オプソでしかありえない問題だしw
0453デフォルトの名無しさん
2005/05/20(金) 07:43:15何度もあるじゃん。
0455デフォルトの名無しさん
2005/05/23(月) 17:55:29ただヘッダをインクルードすればよい?
なんかexeとか落ちてたんですけど、これってどういうことでしょう。
どういう仕組みで動くのかよくわかんないです。
とりあえずVC++で使えるようにするまでの設定と、
どういう仕組みで動くのか、どなたか教えてください。
0456デフォルトの名無しさん
2005/05/23(月) 20:07:160457デフォルトの名無しさん
2005/05/23(月) 21:02:55ひろったluac.exeとかはコンパイラですかね。
0458デフォルトの名無しさん
2005/05/26(木) 14:27:22110 A=2
120 B=3
130 C=7
140 A=13
150 C=A+B
160 B=C*2
このプログラムが実行された直後、つまり160行目まで処理が終わったとき、
変数A,B,Cの値はそれぞれいくらか?
A( )B( )C( )
0459デフォルトの名無しさん
2005/05/26(木) 20:32:08なにこの幼稚園レベルの問題
0460デフォルトの名無しさん
2005/05/27(金) 18:25:085.0.2のヘッダと、↓からlibを拾ってきて、[ツール]→[オプション]
でこれらを読み込むように設定しました。
ttp://sourceforge.net/project/showfiles.php?group_id=32250&package_id=115607
それで、ttp://i-saint.abz.jp/2004.html#20040219
の2/19日の記事をそのままコピペしてコンパイルしてみたんですが、
main.obj : error LNK2001: 外部シンボル "_lua_tonumber" は未解決です
みたいなエラーが沢山出ます。どうしたらよいでしょうか?
0461デフォルトの名無しさん
2005/05/27(金) 18:48:040462デフォルトの名無しさん
2005/05/27(金) 18:56:120463デフォルトの名無しさん
2005/05/27(金) 18:58:490464デフォルトの名無しさん
2005/05/27(金) 19:05:200466デフォルトの名無しさん
2005/05/27(金) 19:17:030467460
2005/05/27(金) 19:18:130468デフォルトの名無しさん
2005/05/27(金) 19:35:21いかに自分がゴミであるかを思い知る。
0469460
2005/05/27(金) 20:53:56うまくいきました。
[オプション]の所に設定するのと何が違うんだろう。。
0470デフォルトの名無しさん
2005/05/27(金) 21:55:50http://www.lua.org/work/lua-5.1-work6.tar.gz
Here are the main changes since 5.1w5:
- standard distribution in only one library (lualib.a merged into lua.a)
- `loadlib' no longer global (packaged inside `package')
- better luaconf.h
- debug information includes last line of a function definition
- metatables for all types
- new "primitive" getn
- new `mod' (`%') operator
- new math functions
- new operation *t (for size of t)
- new protocol to open standard libraries
- using `require' to implement `-l' in bin/lua
There are probably several other small changes that we forget right now...
All the usual caveats of work versions still apply, including the lack
of documentation and the plea for your feedback.
This is really the last work version before 5.1 (alpha), for which no ETA
currently exists. :-) For that, we have to work on the documentation.
Enjoy.
--lhf
0471デフォルトの名無しさん
2005/05/27(金) 22:06:480472デフォルトの名無しさん
2005/05/28(土) 02:12:010473デフォルトの名無しさん
2005/05/28(土) 02:14:23他のって例えば何?
0474デフォルトの名無しさん
2005/05/28(土) 11:24:310475デフォルトの名無しさん
2005/05/28(土) 13:58:440476444
2005/05/30(月) 04:05:04http://xbb.jp/uchichi/ulua-5.0.2_2005_05_30.lzh
主な追加は
・switch文の追加
・Cのfor文ライクな奴を追加
・continueの追加
・//と/**/のコメントの追加
など
主な修正は
・~=は !=に、andは&&に、orは||に、notは!に。
・数字の0は偽に、数字の0以外は真に。
など
詳しくは、uLua.txtを見てね。
暇な方は、試してみてね。
0477デフォルトの名無しさん
2005/05/30(月) 09:26:380478デフォルトの名無しさん
2005/05/30(月) 19:43:39乙
とりあえずもらったよ。
0479デフォルトの名無しさん
2005/05/30(月) 22:13:30おい!!!!すげええええな!!!!!!!
do end を { } にしたとこのほうが、インパクトでけぇ!
0480デフォルトの名無しさん
2005/05/30(月) 23:03:58乙です。
これから活用させていただきます。
0481444
2005/06/01(水) 03:07:14functionでreturnを強制した場合、function内にfor(xx in xx)な奴があると
returnパスを検索する所で無限ループしてしまう。。。。
returnパスを検索するアルゴリズムはどんなのが適当なのだろうか。。。。
一応、修正した奴を以下に置いておきます。
http://xbb.jp/uchichi/ulua-5.0.2_2005_06_01.lzh
まだバグあると思うので、見つけたら教えて下さい。
0482デフォルトの名無しさん
2005/06/01(水) 03:26:49Lua5.1に未対応というバグがありますよ
0483デフォルトの名無しさん
2005/06/01(水) 12:56:050484デフォルトの名無しさん
2005/06/01(水) 13:11:47本家にフィードバックするというのはどうでしょう? >>482 みたいな注文もなくなりますよ。
0485デフォルトの名無しさん
2005/06/01(水) 16:42:570486デフォルトの名無しさん
2005/06/01(水) 18:36:03他の言語でも後からforeach増えたりしてるし
そのままパッチ適用するかはともかくアイデアは面白いと思うよ
0487デフォルトの名無しさん
2005/06/01(水) 19:44:27構文をC風にしたってだけのようにしか見えんが。
0488デフォルトの名無しさん
2005/06/01(水) 20:26:18まぁ実用性は皆無で、純粋にネタとして。
0489デフォルトの名無しさん
2005/06/01(水) 20:38:070490デフォルトの名無しさん
2005/06/01(水) 21:26:44ああそう。
で、Lua開発者なら「C構文にするとは面白いアイデアだ」とか言うと思ってんの?
0491デフォルトの名無しさん
2005/06/01(水) 21:34:16なにか Lua には文法の拡張を提案してはいけない特殊な理由でもあるの?
0492デフォルトの名無しさん
2005/06/01(水) 22:14:220493デフォルトの名無しさん
2005/06/01(水) 22:14:23根本的な変更なんて採用されるわけねーだろ…。
もしC構文の方がいいと考えてるなら、最初からそうしてるだろうし。
C構文風にもどちらでも書けます、なんて害にしかならねーし。
0494デフォルトの名無しさん
2005/06/01(水) 22:26:05やっちゃえばいいんだよ
04951
2005/06/01(水) 23:16:12C風っていうならば、こっちにも注目だな。
0496デフォルトの名無しさん
2005/06/02(木) 04:37:57かなり開発者頑固ぽいよ^^;
0497デフォルトの名無しさん
2005/06/02(木) 07:30:280498デフォルトの名無しさん
2005/06/02(木) 20:28:060499444
2005/06/02(木) 22:14:10http://www.water.sannet.ne.jp/sowwa/lua.html
のsjisパッチを使わせてもらっているのですが、
sjisパッチ単体の問題かどうかは分かりませんが、
luacでコンパイルした奴を読み込ませると
2バイト文字の先頭バイトとして判定されて
1バイトずれる時がありました。
つか、このデバッグ大変だった。。。。。
一応、fixしたのを以下に置いておきます。
http://xbb.jp/uchichi/ulua-5.0.2_2005_06_02.lzh
0500444
2005/06/02(木) 22:24:48switchの追加とかだけだったら可能かもしれませんが、
そもそもswitchの追加なんて、luaの開発者なら数分で出来る
レベルです。continueは、luaのVMにFOR文用のオペコードが
あるので、ちょっと面倒かもしれませんが。
でもって、5.1ですが、luaをアプリに組み込んで
使用することしか考えていないので、5.1に対応する理由が
特に見当たらないです。
アプリに組み込んで使うのに、マニュアルを見ながら書くってのでは
面倒なので、ありがちな構文っぽく修正しているのでした。
0502デフォルトの名無しさん
2005/06/03(金) 03:04:300503デフォルトの名無しさん
2005/06/04(土) 02:52:510504デフォルトの名無しさん
2005/06/04(土) 03:10:080505デフォルトの名無しさん
2005/06/04(土) 03:52:45Scheme は奇麗で実装も多いけど、S 式にアレルギーある人も多いからなぁ
あとは Python と Ruby か
Lua は適度に汚かったのが評価されてたのかと思ってたけど...
0506デフォルトの名無しさん
2005/06/04(土) 11:40:59JSは適当なライセンスの実装が無い
0507デフォルトの名無しさん
2005/06/04(土) 12:01:320508?デフォルトの名無しさん
2005/06/04(土) 12:46:210509デフォルトの名無しさん
2005/06/04(土) 14:43:57Javaはまもなく過去の言語となる
0510デフォルトの名無しさん
2005/06/04(土) 15:16:560511デフォルトの名無しさん
2005/06/04(土) 15:58:510512デフォルトの名無しさん
2005/06/04(土) 22:09:390513デフォルトの名無しさん
2005/06/04(土) 22:14:33というのを想像しちまったぜいちくしょうめw
0514デフォルトの名無しさん
2005/06/04(土) 23:25:02Luaは実行パフォーマンスも結構いい線行ってるよ。
http://dada.perl.it/shootout/ みる限り、Ruby/Python <=> C/C++の大体中間くらい。
スレッドや、サイズが小さい所等が評価されてる。あと、global変数なしってのも組み込み向けにとっては有難い。
0515デフォルトの名無しさん
2005/06/13(月) 17:14:31ことってできますか?
0516デフォルトの名無しさん
2005/06/14(火) 00:56:530517デフォルトの名無しさん
2005/06/14(火) 11:10:590518デフォルトの名無しさん
2005/06/14(火) 11:32:53たぶんフリーフォーマット言語なLuaで"行"にジャンプだぁ?
ってことなんじゃない。
正直漏れもなにがおかしいのかわかんなかったけど。
でまぁ>>515 にマジレスすると
Luaにはラベル等もちいたりして途中から実行する機能は
スクリプトの仕様にもCからの呼び出しの仕様にもない。
0519デフォルトの名無しさん
2005/06/14(火) 11:43:260520デフォルトの名無しさん
2005/06/14(火) 20:58:340521デフォルトの名無しさん
2005/06/14(火) 21:15:01無いんですか orz
>>520
ありがとうございます。
調べてみます。
0522521
2005/06/16(木) 23:49:19うーん、難しいです。
0523デフォルトの名無しさん
2005/06/17(金) 00:59:41そもそもなんで「行にジャンプ」させようと思ったの?
目的がわかれば別の対処方法があるかもよ。
0524デフォルトの名無しさん
2005/06/17(金) 01:16:500525521
2005/06/17(金) 01:50:13ゲームのスクリプトにLuaを使おうとしていますが、ノベル系のゲームに
使う場合はスクリプトの実行途中でもセーブ出来るようにする必要があると
思います。
そのためロードして実行を再開する時に指定行からの実行が欲しくなりました。
0526デフォルトの名無しさん
2005/06/17(金) 01:58:332. ロード時は、以前の場所にくるまですべて処理をスキップ。
みたいなんでどう
0527デフォルトの名無しさん
2005/06/17(金) 08:44:360528デフォルトの名無しさん
2005/06/17(金) 14:43:14ノベル系作るなら保存以外にも分岐ジャンプ等必要なわけだし
結局ステートマシンくむことになるのでは?
そしたらステートの保存読込だって自分で書くことになる。
まぁ最終的に>>527に同意。
自分で一から全部作りたいんならともかく吉里吉里とかあるんだしさ。
0529521
2005/06/17(金) 19:51:11なんだかあっさり出来てしまって、あちこちのスクリプトライブラリをうろうろした時間
はなんだったんだろうと、ドッと疲れました。
>>526
その場合だとif文の途中やループの途中ではダメだと思います。
>>527
自作のスクリプトを作成すれば一番いいんでしょうが、自分にはそんな技術がないので、
ライブラリに頼ってしまってます。
>>528
分岐ジャンプは別途作成済みなんです。
ノベルというよりRPGのノベル部分に欲しいので、吉里吉里では無理でした。
0530デフォルトの名無しさん
2005/06/17(金) 20:14:150531デフォルトの名無しさん
2005/06/18(土) 01:01:320532デフォルトの名無しさん
2005/06/18(土) 01:40:150533デフォルトの名無しさん
2005/06/18(土) 19:17:55やれやれ・・・
0534デフォルトの名無しさん
2005/07/27(水) 14:04:170535デフォルトの名無しさん
2005/07/31(日) 04:51:41関係ない記事だけど
0536デフォルトの名無しさん
2005/08/08(月) 10:27:02HDDはあるけど、データしかおかない。飛んだら飛んだでざまーみろ、みたいな。
HTTP以外にも全部対応。フロッピー入れて一晩寝てると謎のファイルがぎっしり、みたいなの。
方法ですが、ベースはLinuxで、
そこにgethtmlw みたいなマルチスレッド対応ダウンローダーを、
軽量スクリプト言語で作ればOKかな、と。
この構成で質問です。
1、ホントに軽いですか。実行速度だけじゃなく、バイナリサイズも気になるのですが。ライブラリまで全部入れて500kバイト以下だとうれしいです。
2、複数のTCPセッションを張りたいわけですが、ブロッキングI/Oをマルチスレッドで多重化できますか。
select() を使う方法しかないと、かなりやる気が減ります。
0537デフォルトの名無しさん
2005/08/08(月) 23:31:342 マルチスレッドがありません
Cで書いたほうがいいんじゃね?わざわざスクリプトでやんなくても。
0538デフォルトの名無しさん
2005/08/09(火) 01:31:02Luaライブラリは必要に応じて追加なので正確なサイズは
必要なLuaライブラリが使用しているCライブラリのサイズによる。
2 マルチスレッドに対応しているので、当然できる
どっちを信じるかは>>536次第(笑)
0539デフォルトの名無しさん
2005/08/09(火) 08:22:040540536
2005/08/09(火) 11:10:26多分、ここにヒントがあるんですよね。
ただいま解読中。
↓ ↓ ↓
http://www.lua.org/pil/9.4.html
0541デフォルトの名無しさん
2005/08/09(火) 15:32:19ネット関係のライブラリが充実してない言語だと厳しいんじゃないかと
0542デフォルトの名無しさん
2005/08/09(火) 20:41:33「Cでまともにプログラミングする能力が無いので
スクリプト言語を使いたいです」
0543536
2005/08/11(木) 04:12:20lsocket.so が、カレントにあるときは動くのですが、
/usr/local/share/lua50/ におくと動きません。
パスは通ってるっぽいんですが、何がいけないんでしょうか。
0544デフォルトの名無しさん
2005/08/11(木) 04:18:41export LUA_CPATH=/usr/local/share/lua50/?.so
が正解。
0545デフォルトの名無しさん
2005/08/11(木) 11:10:09これ、どうやってやるんですか。
普通にやると、200Kぐらいありますよね。
多分、luac の出力の実行に特化した「何か」を
使うんでしょうが、どこにありますか。
538 :デフォルトの名無しさん :2005/08/09(火) 01:31:02
1 Luaそのもののサイズは50k以下。
0546デフォルトの名無しさん
2005/08/11(木) 22:59:460547デフォルトの名無しさん
2005/08/12(金) 12:48:520548538
2005/08/13(土) 03:27:08オレはWin環境でC標準ライブラリ等をDLLでリンクしているため
Lua部分は50k程度になってる。Linuxでどうなるかは知らない。
■ このスレッドは過去ログ倉庫に格納されています