2006-03-15から1日間の記事一覧

変数のスコープ

レキシカルスコープ a = 1 function f(x, y) return(x+a, y+a) end print(f(1, 2)) # => 2, 3 a = 2 print(f(1, 2)) # => 3, 4 また、 local 宣言でローカルスコープを積むことができる。ただしローカルスコープの終端が決定できないので、積むときには do l…

制御構文

while ループ。 while 条件 do ブロック end until ループ repeat ブロック until 条件; for ループ for i = 0, 10, 2 do print(i); end 0が初期値、10が終端値、2がステップ。ステップを省略すると1。テーブルにアクセスする場合には、 for i, v in ary do …

関数

関数は function () 〜 end で定義する。 function (a, b) return a + b end 具体的な関数定義は、 function f(a, b) return a + b end のように名前を書くが、これは f = function (a, b) return a + b end と同じこと。関数呼出しはC言語と同じような感じ…

Lua という言語について

まず最初に断り書きを。正しい定義は知らないが、とりあえず言語としての Lua を「Lua」と大文字から始めて書く。一方、ソフトウェア、およびコマンド名としては「lua」と小文字から始めて書くことにする。今はちょっと忙しいので、実装を細かく見ている余裕…

趣旨

この日記はずっと放置していたのだが、最近になってちょっと勿体無い気がしてきた。ので何かをやろうと思いついた。何をするか、というネタもないではないが、とりあえず思いついたところで Lua の勉強をすることにする。http://www.lua.org/Lua は組み込み…