例如:local result = string.split("1,2,3", ",") ---> result = {"1", "2", "3"} 12. 字符串反转 string.reverse(s) 例如:string.reverse("jayden") ---> nedyaj 13. 字符串匹配string.match (s, pattern) 它不同于函数string.find()要返回匹配字符的索引,也不同于string.gmatch()函数会...
> string.find("Lua is aa new wapon",'ea',5,10) 输出16 17 string.reverse(arg) string.format(...) 格式化字符串,例如string.format('the value is %7.0d',4) 输出占位7位的4 string.char(arg),string.byte(arg[,int]) 将整型数字转变成字符串连接,和将字符串arg中的首字符或者int指定字符转换...
nil、boolean、number、string、userdata、function、thread 和 table。 nil 很特殊,给一个变量复制nil相当于释放变量。 因为lua是动态语言类型(通过首次赋予值的类型init内存),和java最大的区别就在这里,类型判断很重要。 table类型很特殊,索引除了是数字下标,还可以值KEY 我们可以使用 type 函数测试给定变量或者值的...
code1、因为luaL_dofile(L, "Test.lua")已经把lua文件加载到内存并行执行了pcall函数。lua_getglobal(L, "name")就是从全局表中找到name字段对应的值,并把它放到栈顶。可以参考栈的运行图Log index 1 code2、lua_isstring(L, -1)是用来判断栈顶是否是string类型,还有一些类似的函数,可以自行查看API。 code...
int lua_isstring(lua_State*, int):检查提供的索引处的元素是否为字符串 int lua_isboolean(lua_...
lua_pushstring(L, "I am so cool~"); lua_pushnumber(L,20); //3.取值操作 if( lua_isstring(L,1)){ //判断是否可以转为string cout<<lua_tostring(L,1)<<endl; //转为string并返回 } if( lua_isnumber(L,2)){ cout<<lua_tonumber(L,2)<<endl; ...
// 1 string: This is me! //=== 栈底 === C++调用Lua实际上是:由C++先把数据放入栈中,由Lua去栈中取数据,然后返回数据对应的值到栈顶,再由栈顶返回C++。先将函数入栈,参数入栈,然后用lua_pcall调用函数,此时栈顶为参数,栈底为函数,所以栈过程大致会是:参数出栈->保存参数->参数出栈->保存参数-...
string.gsub -- gsub 将目标字符串中所有出现模式的地方替换为字符串 -- 参数 1 目标字符串 、2 模式、3替换字符串 4限制替换的次数 -- 返回第2个结果 发生替换的次数 s1, s2 = string.gsub("Lua is cute cute", "cute", "greate", 1) print(s1, s2) --string.gmatch 返回一个函数,通过返回的函...
lua_isstring 是否是string或者number。 lua_isuserdata 是否是userdata或lightuserdata。 lua_rawequal 绕过元方法判断是否相等。 lua_equal (如果有,便使用元方法)判断是否相等。 lua_lessthan (如果有,便使用元方法)判断是否小于。 lua_tonumber 转换成number(失败返回0)。