__tostring 汉化过程
liolib.c metameth[] {"__转换为字符串", f_tostring},
lauxlib.c luaL_callmeta(L, idx, "__转换为字符串")
lua.c luaL_callmeta(L, 1, "__转换为字符串")
__len 汉化过程
ltm.c luaT_eventname[]
ltablib.c checkfield(L, "__长度", ++n) 
 __len
 lua_len 找 luaV_objlen 如果是表格,就找fasttm 定义 gfasttm 找表格的flags,或找luaT_gettm表格的TMS找ename luaH_getshortstr表格对应的名值,keyisshrstr找哈希值对应名值返回相应的哈希值。
_gc 汉化过程
 ltm.c luaT_eventname[] 
 liolib.c metameth[]
 lauxlib.c boxmt[] 
 lbaselib.c     int o = optsnum[luaL_checkoption(L, 1, "collect", opts)]; 不能更改成收集,否则收集功能不正常。 
 ldebug.c    *name = "__gc"; 这个不用改,仅用于回收
 lgc.c        luaE_warnerror(L, "__gc");  这个不用改,仅用于提示收回出错。
 loadlib.c 该函数用于创建并初始化一个名为CLIBS的全局表,并为其设置元表和垃圾回收函数。
__close 汉化过程
 ltm.c luaT_eventname[] 
 liolib.c metameth[]
 lauxlib.c boxmt[] 
__newindex 汉化过程
 loadlib.c checktab[] 
__index 汉化过程
 liolib.c metameth[] 另createmeta()设置元表的 __index 字段为方法表。
 lua_setfield 注意???