元表 Lua语言中的每种类型的值都有一套可预见的操作集合.例如,我们可以将数字相加,可以连接字符串,还可以在表中插入键值对等,但是我们无法将两个表相加,无法对函数作比较,也无法调用一个字符串,除非使用元表. 元表可以修改一个值在面对一个未知操作时的行为.例如,假设a和b都是表,那么可以通过元表定义Lua语言如何计算表达式a+b.当Lua语言试图将两个表相加时,它会先检查两者之一是否有元表(metatable)且该元表中是否有__add字段.如果Lua语言找到了该字段,就调用该字段对应的值,即所谓…