Lua の復習とかしてみる その 2
2.1
if 文の書き方。普通の構文。
「≠」は「 ~= 」と書く。
if bool1 then -- 処理 1 elseif bool2 then -- 処理 2 else -- 処理 3 end
2.2
while ループ。
while bool1 do if bool2 then break end end
for ループ。
ここで宣言している i のスコープは for の中だけ。
for i = 1, 10 do -- for i = 1, 10, 2 do って書き方とかも出来る print(i) end
repeat-until 文。
C/C++ で言うところの do-while 文。
repeat -- 何か処理 until bool
2.3
配列の話。
2.4
boolean の話。
2.5
合計を求めるプログラム。
本のサンプルをここまでの知識を使って微妙に改造。
list = { 310, 260, 270, 440 } sum = 0 for i = 1, table.getn(list) do sum = sum + list[i] end print(sum)
配列の 0 番目の要素にアクセスしようとしてて、なかなか動かなかったということは内緒。つい数分前に読んだ Lua の配列の通例の話をもう忘れているとかアホ過ぎる。
ちなみにこんな感じのエラーが返ってくる。
lua: 2_5.lua:4: attempt to perform arithmetic on field '?' (a nil value)
*追記
上のエラーなんだけど、気になって再現してみようと思った。
でも 0 番目の要素にアクセスしようとしても nil が返ってくるだけで、その後の処理はちゃんと動くね。
何が原因のエラーだったんだろう。
今となってはエラーを吐いたコードも存在せず、エラーの原因を追いようがない。
ありそうなのは文字コード絡みのエディタのバグかなぁ。
OCaml で遊んでたときもなったことあるし。