本文章借鉴《Lua程序设计(第四版)》。
一、函数重定义
在Lua中,由于函数可以被保存在普通变量中,因此在Lua语言中可以轻松地重新定义函数,甚至是预定义函数。这种机制也正是Lua语言灵活的原因之一。通常,当重新定义一个函数的时候,我们需要在新的实现中调用原来的那个函数。例如,假设要冲i性能定义函数sin以使其参数以角度为单位而不是以弧度为单位。那么这个新函数就可以先对参数进行转换,然后调用原来的sin函数进行真正的计算。代码可能形如:
print(math.pi) --> 3.1415926535898
print(math.sin(30 * (math.pi / 180))) --> 0.5
local oldSi