2017-02-06から1日間の記事一覧

TI-Nspire & Lua / スクリプティングのヒント / メタテーブルを使う 1 / 演算子をオーバーロードする

table1 = {name = "Tom Brady", rating = 110} table2 = {name = "Matt Ryan", rating = 100} function myAdd(a, b) -- これをメタメソッドとして使う。 return a.rating + b.rating end setmetatable(table1, {__add = myAdd}) -- setmetatable(テーブル, {…

TI-Nspire & Lua / スクリプティングのヒント / クロージャを使う 9 of 9 / 演習 9.3: 多項式を計算する

-- 演習 9.3: 演習 5.4 では、係数テーブルと変数値とを引数として取ってその多項式の値を返す函数を記述した。 -- 今度はその函数のカリー化版を作れ。 -- 係数テーブルを変数として取ってその多項式の値を返す函数を返す函数を作れ。 function newpoly(coe…

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) …