プログラミング言語 Lua
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNGhttp://www.lua.org/
0082デフォルトの名無しさん
NGNG0083デフォルトの名無しさん
NGNGテストの結果次第でこのまま運用が続いたら書くかもです。
0084デフォルトの名無しさん
NGNG削除依頼を出したら
→削除依頼板以外では受け付けませんよ。
晒し?知りません
2chルールで削除依頼を出したら
→2chの匿名は弱者保護です。内容の真実性の判断が出来ません。
問題があれば裁判でもどうぞ。
状況が不利になってきたら
→IP記録して問題は当事者どうしで、と言ってみるテスト
現在
→全部にいれてみた。
0085デフォルトの名無しさん
NGNG企業やある個人の内容について要望や改善点を指摘したつもりで書いたものが
誹謗と受け止められるようでは傲慢以外の何物でもない
ただの私怨であってもなんらかの事柄があっての書き込みだろうし
匿名だからこそ参加している者が多数いただろうし
魅力なくなるね
0086デフォルトの名無しさん
NGNG0087デフォルトの名無しさん
NGNG情報でしょ?口コミだって立派な宣伝なんだから。あまりにも
現実とかけ離れた根拠のない発言はいけないと思うが
「あそこの病院で誤診された」とかっていうのはなんでいっちゃ
いけないの。おれも生まれたとき医者のミスで体の一部分を
無くしたんだが、うやむやになって結局手術台は自分持ちだった。
0088デフォルトの名無しさん
NGNG全部混ざれば只の黒
フルート、オーボエ、ティンパニー、オルガン、ピアノ、チェロ、尺八、
チャルメラ、シチリキ、琴、ハープ、
一緒に鳴らせば只の雑音
0089デフォルトの名無しさん
NGNGそれは楽しみでつ。
0090デフォルトの名無しさん
NGNG0091デフォルトの名無しさん
NGNG0093デフォルトの名無しさん
NGNGもう最後の方はさっぱり意味わかんなかったけど・・・
ってゆうかほろゆきが止めたのか?
0094デフォルトの名無しさん
NGNG各板で見るけど。感想は「びびった」ばかり。
0095デフォルトの名無しさん
NGNG0096デフォルトの名無しさん
NGNGおいらは2ちゃんの味方ですが?
コピペなんかした事ないし
0097デフォルトの名無しさん
NGNG0098デフォルトの名無しさん
NGNG今更の話題によく盛り上がってるな。年明け初2ちゃん組か?
0099デフォルトの名無しさん
NGNG専用ブラウザでは見れます。対処お願いします。
0100山崎渉
NGNG0101デフォルトの名無しさん
NGNGID:ADTGAx9xはヒッキー
つーか、いつ寝てるんだ?>おまいら
0102デフォルトの名無しさん
NGNG0103デフォルトの名無しさん
NGNG残念。
C言語onlyソースから呼び出して使うこともできないのか。
0104山崎渉
NGNG0105デフォルトの名無しさん
NGNGhttp://www.vendian.org/language_year/
Lua は激動の一年だったそうだ。
0106デフォルトの名無しさん
NGNG0107デフォルトの名無しさん
NGNGできるよ
0108デフォルトの名無しさん
NGNGオブジェクト指向的使い方もできるよ。
luaのtableはかなーり柔軟。
http://lua-users.org/wiki/ClassesAndMethods
0109デフォルトの名無しさん
NGNGこれかい?
http://homepage3.nifty.com/digikei/ten.html
0110山崎渉
NGNG0111デフォルトの名無しさん
NGNG0112
NGNG>>103 C言語onlyソースから呼び出して使う...
system("lua");
さぶ〜
0113デフォルトの名無しさん
NGNGLUAのソースはC言語だし、組み込み用のヘッダファイルも全部C言語なのだがー
0115デフォルトの名無しさん
NGNG誰かどんな点が特徴として熱いのか熱く叫んで。
0116デフォルトの名無しさん
NGNG0117Go Lua
NGNG0118デフォルトの名無しさん
NGNG#include "lua.h"
#include "lualib.h"
int main(void){
lua_State *L=lua_open(0);
lua_strlibopen(L);
lua_dostring(L, "a = 1*2*3*4");
lua_dostring(L, "b = gsub('age sage', '(%w+)', '%1 %1')");
lua_getglobal(L, "a");
lua_getglobal(L, "b");
printf("a = %f\n", lua_tonumber(L, -2));
printf("b = %s\n", lua_tostring(L, -1));
lua_close(L);
return 0;
}
0119デフォルトの名無しさん
NGNGwinでmakeする方法を教えてください。
0120デフォルトの名無しさん
NGNG0121デフォルトの名無しさん
NGNG0122デフォルトの名無しさん
NGNG紹介されたんだが。。。
luaってどう読むの?「ルア」でいいの?
あと、流行ってますか?
0123デフォルトの名無しさん
NGNG単純だという事以外には、特に利点も無さそうだ。
0124デフォルトの名無しさん
NGNGAngband が使ってるね。
http://www.lua.org/uses.html
0125デフォルトの名無しさん
NGNG0126デフォルトの名無しさん
NGNG0127デフォルトの名無しさん
NGNGhttp://lua-users.org/wiki/LuaAddons
0128デフォルトの名無しさん
NGNGhttp://www.lua.org/lua-l-stats.html
0129デフォルトの名無しさん
NGNG0130デフォルトの名無しさん
NGNGhttp://www.iplab.is.tsukuba.ac.jp/protoku/lua/Lua.htm
0131デフォルトの名無しさん
NGNGこめんとが--というのが萎えた。。。
0132デフォルトの名無しさん
NGNG0133デフォルトの名無しさん
NGNG0134デフォルトの名無しさん
NGNGつーか何に使うの?
0135デフォルトの名無しさん
NGNGhttp://ruby-lua.unolotiene.com/
0136デフォルトの名無しさん
NGNGstdin:1:<name> expected near `:'
これの意味は何ですか? エラーぽいんですけど。。
0137デフォルトの名無しさん
NGNG0138デフォルトの名無しさん
NGNG0139デフォルトの名無しさん
NGNG作るのに良さそう(w
0140デフォルトの名無しさん
NGNG0141デフォルトの名無しさん
NGNGこれがラテンなんだろうか?
0142デフォルトの名無しさん
NGNG0143デフォルトの名無しさん
NGNG0144デフォルトの名無しさん
NGNGテーブルは、かなり便利と感じたが。。。
0145デフォルトの名無しさん
NGNG0146デフォルトの名無しさん
NGNGただし、連想配列なのでAWKの配列のイメージ
このあたりはrubyよりかなりいい!
0147デフォルトの名無しさん
NGNGそれとも -- なの?
0148デフォルトの名無しさん
NGNG0149デフォルトの名無しさん
NGNGありがとう。
ところで、luaつかってますか???
0150デフォルトの名無しさん
NGNG0151デフォルトの名無しさん
NGNGどういうこと?
マニュアルなら日本語の奴もある、
単に用途がみつからんということ???
0152デフォルトの名無しさん
NGNGluaだからこんなことができる、とかあるのかな。
感想。
0)全ての文(?)の終端がendなのは萎える。
rubyもそうだけど、これ、実はすごく読みにくい。
結局、文の対応がインデントでしかわからない。
1)式の終端記号がない。危険な香りがする。
2)テーブル{}に関係する構文と操作全般がわかりにくい。
3スクリプト用途にしては、)returnとかfunctionとか長い名前が気になる。
return不用、function → fn or lambda、 local → letとか。まあ修正すりゃいいけど。
4)elseifかよ。
5)local変数群への多重代入がややわかりにくい。
6)でも多値を返せるのは便利。
7)レジストリって何?
8)タグの有効な使い方ってなんだろう?
9)テーブルは慣れれば使いやすいかも。
0153デフォルトの名無しさん
NGNG> 7)レジストリって何?
組み込み/拡張用でわ
> 8)タグの有効な使い方ってなんだろう?
タグメソッドでわ
VectorTag=newtag()
function Vector(a,...) do v={}; settag(v,VectorTag); v[1]=a; for i=1,getn(arg) do v[i+1]=arg[i] end; return v; end; end
function dot_product(v, u) do s=0; for i=1,min(getn(v),getn(u)) do s=s + v[i]*u[i] end; return s; end; end
settagmethod(VectorTag, "mul", dot_product)
print(dot_product({1,2}, {3,4}))
print(Vector(1,2)*Vector(3,4))
0154デフォルトの名無しさん
NGNG確かにendって使いにくいね。
読みやすさが有ると言う意見もあるが、ちょっこりif文なんかいれて
end忘れたひにゃ。。。(以下略)
あと、キーワードが長過ぎるのも同感
多値リターンはすぐれものか?
0155デフォルトの名無しさん
NGNG0156デフォルトの名無しさん
NGNGMIT は修正 BSD 相当だから互換じゃないのか?
0158デフォルトの名無しさん
NGNGPython?
0159デフォルトの名無しさん
NGNG0160デフォルトの名無しさん
NGNG0161ヽ(´ー`)ノ
NGNG始めに触ったのが C だからブレースが無い言語は苦手…。
0162デフォルトの名無しさん
NGNGすぐに慣れるし、慣れたらそんなことどうでも良くなるよ
0163デフォルトの名無しさん
NGNGまあそれはいい。しかし
function f(x)
a = x+1
return a
end
print(f(1))
これのワンライナが
lua -e 'function f(x) do a = x+1; return a end end; print(f(1))'
になるのには少々驚いた。
0164デフォルトの名無しさん
NGNGplus = function(a) return function(b) return %a+b end end
print(plus(2)(3)) -- 5
0165デフォルトの名無しさん
NGNGそれ高階関数だね。
ML風に書くと
val plus=fn a=>fn b=>a+b; print(plus 2 3);
テーブルの役割からすると意味的にはLISPと似てる。
(((lambda(a)(lambda(b)(+ a b)))2)3) ;;5
0166デフォルトの名無しさん
NGNGむしろ upvalue を使ったスコープの制御が面白いかなと。
それと plus(x)(y) と書けるのは直観的だなと。
ruby だと変数名の後にカッコでは引数を渡せないから [] を使う必要がある:
plus = lambda{|a|lambda{|b|a+b}}
p plus[2][3] # 5
python ではどう書くのだろう。
plus = lambda a: lambda b: a+b
では駄目だし。
この点S式は比べにくい。
0167デフォルトの名無しさん
NGNG2番目は、そのソースとバイナリの大きさかな?
0168デフォルトの名無しさん
NGNG多値や多重代入は python でも ruby でもできるよね。
% lua -e 'function f(x) return x*2,x*3 end; a,b = f(3); print(b,a)'
9 6
% python -c '
def f(x): return x*2,x*3
a,b = f(3)
print b,a'
9 6
% ruby -e 'def f(x) return x*2,x*3 end; a,b = f(3); p b,a'
9
6
0169ヽ(´ー`)ノ
NGNGそうだね。とりあえず、Lua と Ruby を勉強してみるよ。ありがとう。
>>168
む〜、便利だな。Perl の list($a,$b) = f(3) とは違って、配列と同じ扱いじゃないの?
// 今ちょっとコンパイラが(゚Д゚)マズ-な事になってて Lua を入れれないのです。
0170デフォルトの名無しさん
NGNGlua の場合は一つの何かを返すわけではないので common lisp の values に近いみたい
しかしこう↓書けるのでさらにイカす
% lua -e '
function f(x,y) return x+1,y+10 end
print(f(f(0,0)))'
2 20
python と ruby は値を引数リストに展開するために f(*f(1,2)) と書く必要がある
多値といっても ruby は Array を、python は tuple を返すから
0171デフォルトの名無しさん
NGNG2 20
0172デフォルトの名無しさん
NGNG0173デフォルトの名無しさん
NGNG0174デフォルトの名無しさん
NGNGしかしendがウザイね。
return省いて多値返すときだけvaluesにしたらいいのに。
fun f(x,y) x+1,y+10; //カンマは演算子。y+10が関数の値
fun f(x,y) values x+1,y+10; //カンマはvaluesの区切り
0175デフォルトの名無しさん
NGNGどっちかっていうと、LISPみたいな関数型だな。
テーブルのタグ付けでそれっぽい事はできそうだが。
0176デフォルトの名無しさん
NGNGLispみたいなというのはちょとちがうのでは?
0177デフォルトの名無しさん
NGNG簡単に言えば、
リストをテーブル(配列)にして、括弧無くしたLISPモドキ→Lua
でしょ
0178デフォルトの名無しさん
NGNG・関数と変数に型がない
・call by value
・lambda 相当の function
・無名関数
くらいでは。eval がない点は大きく違う。
0179デフォルトの名無しさん
NGNGrepl改造する時ぐらいじゃないか。
それに、lua自身もeval入れようと思えば出来るだろうし。
0180デフォルトの名無しさん
NGNG使える事だろう。
lispは括弧を閉じ忘れるだけで、エラー個所の特定が難しくなる。
0181デフォルトの名無しさん
NGNG0182173
NGNG私も触ってみようと思いました。
ところで、最近endで区切るのが流行ってる(?)ような感じですが、
これってメリットあるのでしょうか?
(好みは別として)
なんか、素人丸出しで恐縮ですが、{}の方が閉じ忘れをすぐに見付
けることができるっぽいので(例:vi の % キー)良いような気もし
ています。
■ このスレッドは過去ログ倉庫に格納されています