>214
上位値とクロージャを。自分の変数を持つ関数かな?
schemeとかocamlとかperlとかにはあった気がする。lispが発祥だとかperlの本にあったなぁ。
--
newgreeting = function(a) --a:上位値
return function (b); print(a..", "..b..".") end --クロージャ
end
gr1 = newgreeting("Good morning");gr1("Emily");gr1("Mike")
gr2 = newgreeting("See you");gr2("Emily");gr2("Mike")

-- もうひとつ 上位値の変更
newcounter = function ()
local cnt=0 --上位値
return function ()
cnt = cnt+1
return cnt
end
end
cnt_a = newcounter()
cnt_b = newcounter()
print(cnt_a())
print(cnt_a(), cnt_b())
print(cnt_a())
print(cnt_a(), cnt_b())
print(cnt_a())
print(cnt_a(), cnt_b())
結果は省略