TI-Nspire & Lua / スクリプティングのヒント / クロージャを使う 2 / 函数を再定義する

-- math.sin 函数の引数が度単位で指定できるよう math.sin 函数を再定義してみる。
originalSin = math.sin
math.sin = function(deg) -- これで、オリジナルの math.sin 函数が無名函数によって上書きされた。
              return originalSin(math.rad(deg))
           end


print(math.sin(90))  -- この math.sin は再定義後の math.sin である。
print(originalSin(math.pi / 2)) -- オリジナルの math.sin 函数を利用するためには originalSin 函数を経由しなければならない。

f:id:ti-nspire:20170204121810p:plain

参考: