Hatena::Grouphackathon

zrail (a.k.a. tobira17, h14i, ...) の Learning Log

2010-04-18

[][]Lua の復習とかしてみる 17:25 Lua の復習とかしてみる - zrail (a.k.a. tobira17, h14i, ...) の Learning Log を含むブックマーク はてなブックマーク - Lua の復習とかしてみる - zrail (a.k.a. tobira17, h14i, ...) の Learning Log

Lua の復習と雑多なメモ。多分参考にはならないと思うけど、ログとして書いてみる。

テキストには、上野豊「入門 Lua プログラミング」を使用。

1.1

スクリプト言語の紹介。

Lua がどんな分野で使われているかとか。

ちなみにゲームソフトへの組み込みが多いらしい。 WoW とか RO とか。

1.2 Lua の特徴
    1. 少ない知識でプログラムを組める
    2. 動作が軽い
    3. データが整理できる

上の 2 つは Lua の大きな特徴として有名だけど、3 番目の「データが整理できる」ってなんだっけ?

本文を読むと

データをうまく表現することによって、その内容を整理していくのに役立ちます。

とあるから、データ構造のことかな。テーブルの話と関係がありそう。

1.3

変数の話。

よくある動的言語の変数の使い方と一緒。

標準出力?に出力するためのメソッドが出てきたので、一応例を載せておく。

num = 5
print(num)
1.4

プログラムの実行の仕方。

1.5

文字列データの扱い方。

多分忘れるのでメモ。

dvd = "DVD player"
cd  = 'CD player B\' extra'
md  = 'MD "wantman"'
mp3 = [[Bpple's jPod "klassic"]]
  • 引用符で囲んだ文字列は、途中で改行するとエラーになる
  • 二重角カッコで囲んだ文字列は、途中で改行すると改行も文字列に含まれる

らしい。

やってみよう。

linebreak1 = [[line1
line2
line3]]

linebreak2 = [[
  foo
    bar
      fizz
        buzz
]]

print(linebreak1)
print(linebreak2)
% lua kakko.lua
line1
line2
line3
  foo
    bar
      fizz
        buzz

おお、本当だ。

1.6

コメントの書き方。

kingaku = 200  --  一行コメント
--[[




]]--
1.7

プログラムの実行単位の話。

文、ブロック、チャンク。

1.8

ついに来ました、テーブルさん。

cdplayer = { name = "cd player B", maker = "awawa",
             price = 10000, shop = "atom" }
print(cdplayer.name)

各要素には「テーブル名.フィールド名」の形でアクセスする。

データは何でも置けるんだったかな。忘れた。