Lua字符串
数据结构:lobject.h
存储结构:lstate.h
短字符串(LUAI_MAXSHORTLEN 40)保存lua_state中的strt表中,即stringtable。如果创建一个新的短字符串,首先会从strt中查找是否含有该字符串,有就马上返回,没有就创建一个新的字符串对象存入哈希表中,采用链地址法;长字符串不保存到表里,每次创建新的对象返回。
创建字符串:lstring.c
创建短字符串:lstring.c
创建长字符串:lstring.c
创建字符串对象:
字符串比较
-
长字符串,逐一比较每个字符
-
短字符,直接比较对象地址,因为相同的短字符串只有一个对象,且保存到字符串表中
总结