如何限制 Lua 字符串中的字符数

How to limit the amount of characters in a Lua string

我有一个问题:如何让 lua_tostring 函数限制条目的数量。

例如8个字符限制:

poppy_name = "command"; // OK, within the limit;
poppy_name = "commander"; // Fail, Is out of range, show a message the permitted limit.

找了没找到,有没有办法限制lua_tostring

使用lua_tolstring获取字符串长度,如果字符串太长则使用lua_errorluaL_error

size_t arg_len;
lua_tolstring(L, 1, &arg_len);
if (arg_len > 8) return luaL_error(L, "argument too long");