2017-02-04から1日間の記事一覧
-- 再帰的なローカル函数の定義 local function fact(n) if n == 0 then return 1 else return n * fact(n - 1) end end print(fact(69)) -- 下のような定義の仕方では再帰呼び出しができない。 -- FACT(n - 1) をコンパイルする時点ではまだローカル函数 FA…
-- ローカル函数の作成 local function add(a, b) return a + b end local function double(n) return add(n, n) -- ここで、上に定義した add 函数が使用できる。 end print(double(10)) -- これは下のように記述しても同じことである。むしろこちらが lua …
-- テーブルに函数を格納する。 table = {} table.add = function(a, b) return a + b end table.sub = function(a, b) return a - b end print(table.add(1, 2), table.sub(1, 2)) -- これは下のように記述しても同じことである。 table = { add = function…
-- math.sin 函数の引数が度単位で指定できるよう math.sin 函数を再定義してみる。 originalSin = math.sin math.sin = function(deg) -- これで、オリジナルの math.sin 函数が無名函数によって上書きされた。 return originalSin(math.rad(deg)) end prin…
--[[ クロージャを利用して任意函数の点 x における傾きを求めてみる。 --]] function derivative(func, delta) local delta = delta or 1e-12 return function(x) return (func(x + delta) - func(x)) / delta end end function sute(x) -- この函数の点 x …