スコープ
table1 = { [0] = 1, [1] = 2, [2] = 3, [3] = 4, }; function foo(a, f, s) { print("Called foo(), a="+a+", f="+f+", s='"+s+"'\n"); local table2 = { [0] = 6, [1] = 66, [2] = 666, [3] = 6666, }; for ( local i = 0; i < 4; i++ ) { print("table1["+i+"]="+table1[i]+"\n"); print("table2["+i+"]="+table2[i]+"\n"); } } foo(10,20,30);
なんかtable1がないよってエラーになるんだけど、意味が分かりません。
あとは配列とかテーブルをスタック領域に作ったり出来るのかな。
どちらも可変長だから無理だとはおもうんだけど。
関数の中で配列を作ったり、テーブルを作ったりするとじゃんじゃんメモリが減っていく予感。
ちょっとしたテーブルを関数の外に作るのめんどくさいんだよね。Luaでも結構困ってました。
テンポラリ配列とかテンポラリテーブルみたいなのがあると便利かも。allocaみたいな感じで使えるといいなー。