TI-Nspire & Lua / スクリプティングのヒント / クロージャを使う 8 / 演習 9.2
-- 演習 9.2: 下のチャンクの出力はどうなるか。 function F(x) return { set = function(y) x = y end , get = function() return x end , } end o1 = F(10) o2 = F(20) print(o1.get(), o2.get()) -- x の値がそのまま返ってくる o2.set(100) o1.set(300) print(o1.get(), o2.get()) -- set された値が返ってくる。
参考:
- http://adriweb.free.fr/t3/2014/Advanced_TI-Nspire_Lua_Programming.pptx, p.8
- Programming in Lua, Fourth Edition, p.88