lua-table相关内容
我使用索引号访问对象属性 object = {} object.y = {60,20,40} object.g = {box1,box2,box3} -- graphic object.c = {false,false,false} -- collision -- object.y[2] is 20 and its graphic is box2 -- sorted by y locatio
..
如何在Corona SDK/Lua中获取表格中的最大值? 例如,我有这样一个表: local table = { ["item1"] = 10, ["item2"] = 20, ["item3"] = 30, ["item4"] = 40, ["item5"] = 50 } 我必须得到第5项及其值50作为答案。 推荐答案 local max_v
..
在我的主协程中,我根据用户操作从表中删除或添加条目.在后台,我想遍历表中的条目.如果我错过了一次迭代中的插入,我不介意,只要我能在下一次之前抓住它. 使用 pairs 对其进行迭代是否安全?还是应该使用 next 代替? 解决方案 您可以在遍历表时安全地删除条目,但不能创建新条目,即新键.不过,您可以修改现有条目的值.(删除条目是该规则的特例.)
..
我已经在 C 中创建了一个 Lua 表,但我不确定如何将该表推送到堆栈顶部,以便将其传递给 Lua 函数. 有人知道怎么做吗? 这是我当前的代码: lua_createtable(state, libraries.size(), 0);int table_index = lua_gettop(state);for (int i = 0; i 解决方案 这里有一个快速帮助函数将字
..
如何编写一个函数来确定它的表参数是否是一个真正的数组? isArray({1, 2, 4, 8, 16}) ->真的isArray({1, "two", 3, 4, 5}) ->真的isArray({1, [3]="two", [2]=3, 4, 5}) ->真的isArray({1, dictionaryKey = "不是数组", 3, 4, 5}) ->错误的 我看不出有任何方法可以确定数
..
我想将字符串文本转换为表格,并且此文本必须按字符进行划分.每个字符都必须在表的单独值中,例如: a="文本" --将字符串(a)转换为表(b) --显示表格(b) b={'t','e','x','t'} 解决方案 你可以使用 string.gsub 函数 t={}字符串=“文本"str:gsub(".",function(c) table.insert(t,c) end)
..
在 Lua 中,似乎有两种方法可以将元素附加到数组中: table.insert(t, i) 和 t[#t+1] = i 我应该使用哪个,为什么? 解决方案 使用哪个取决于偏好和环境:由于 # 长度运算符是在 5.1 版中引入的,t[#t+1] = i 在 Lua 5.0 中不起作用,而 table.insert 从 5.0 开始就已经存在,并且可以在两者中使用.另一方面,t[#t
..
所以,我有一个类似以下内容的表格: arr ={苹果 = { 'a', "red", 5 },橙子 = { 'o', "orange", 12 },梨 = { 'p', "绿色", 7 }} 似乎不可能根据它们的索引访问它们,而值本身就是表,所以我只是将嵌套表的第一个值作为它的索引,所以现在看起来像这样: arr ={苹果 = { 0, 'a', "red", 5 },橙子 = { 1, '
..
我试图在表格中找到整个字符串,而没有写出完整的字符串. 示例: maintable = {"SecondString", "FirstString"}c = "第一" 如何使用字符串 c 来查找 FirstString 的全名而不键入整个字符串名称? 解决方案 你必须搜索表格: for k,v inpairs(maintable) do如果 v:match(c) 然后 prin
..
嗨,我正在尝试使用 SWIG 包装以下函数. static void readTable(int argc, t_atom *argv) {//接受 Lua 中的表,例如readTable({"ab",3});for (int i=0; is_name);}} 这是我创建的类型映射. %include "exception.i"%typemap(in) (int argc, t_atom *
..
作为一项实验,我正在尝试创建一个幻方程序,用九个数字检查每个可能的方格.对于那些不知道的人来说,幻方是一个由 1-9 数字组成的 3x3 网格,其中每行、每列和对角线的总和为 15.例如: 我将如何使用 Lua 使用表格检查每个方块?我从下表开始: local sq = {1, 1, 1,1, 1, 11, 1, 1} 我将如何以正确的顺序检查每张桌子?我能够在纸上画出我的想法,但我不完
..
当我使用 # 来计算表格的长度时,我有一个问题.例如: local t = {"a", "b"}本地 t1 = {"a", nil}打印(#t) -- 2打印(#t1) -- 1 local t = {"a", "b"}本地 t1 = {nil, "a"}打印(#t) -- 2打印(#t1) -- 2 谁能告诉我这是为什么? 解决方案 除非定义了 __len 元方法,# 操作符只能对
..
我正在为 corona sdk 学习 Lua,我有这些 local type1 = {nil, "(", nil, "x" ,nil , ")" ;n=6}local type2 = {"(",nil, "x",nil, ")",nil ;n=6}打印(#type1)--打印6打印(#type2)--打印 3 为什么第二个也不是6?? 解决方案 # 运算符不适用于每个表,它只适用于一个
..
我有一个原则上可以是任意长度的值表: 点数 ={“第 1 点",“第 5 点",“第 7 点",“第 10 点",“第 5 点",“第 11 点",“第 5 点",} 我想将它们作为参数传递给函数. addPath(, , , ...) 现在,通常您可以使用“呼叫"功能.但在我使用的软件中,此功能不可用且不在范围内. 如何在 Lua 4 中解决这个问题? [编辑] 这里是
..
我可能错过了这个,但是有没有内置的方法可以将 lua 表序列化/反序列化到文本文件,反之亦然? 我有一对方法可以在固定格式的 lua 表上执行此操作(例如,3 列数据和 5 行). 有没有办法在具有任何任意格式的lua表上执行此操作? 举个例子,给定这个lua表: 局部场景={{name="scnSplash",对象={{名称=“背景",类型=“背景",path="scnSpl
..
下面是我需要从 C 读取的 lua 表: listen = {{端口=1234,地址=“192.168.1.1",用户数据=“liunx"},{端口=1235,地址=“192.168.1.2",用户数据=“liunx1"},{端口=1236,地址=“192.168.1.3",用户数据=“liunx2"}} 下面是c代码: #include /* 在调用 Lua 时总是包含这个 */#incl
..
在我的主协程中,我根据用户操作从表中删除或添加条目.在后台,我想遍历表中的条目.如果我在一次迭代中错过了插入,我并不介意,前提是我可以在下一次之前抓住它. 使用 pairs 迭代它是否安全?还是我应该使用 next 代替? 解决方案 您可以在遍历表时安全地删除条目,但不能创建新条目,即新键.不过,您可以修改现有条目的值.(删除条目是该规则的一个特例.)
..
我在 lua 中有这个表: local values={"a", "b", "c"} 如果一个变量等于一个表条目,有没有办法返回表的索引?说 local onevalue = "a" 如何在不迭代所有值的情况下获取表中“a"或一个值的索引? 解决方案 接受的答案有效,但仍有改进的空间: 一旦找到元素,为什么不退出循环?为什么要把整个源表复制到一个新的一次性表中? 通常,这种
..
我正在尝试遍历 Lua 中的表并输出: 每个表的键. 每个表中每个条目的键/值对. 代码如下: void print_table(lua_State *L){lua_pushnil(L);而(lua_next(L,-2)!= 0){const char *key = lua_tostring(L, -2);如果(lua_isstring(L,-1))printf("%s = %s"
..
我是 Lua 的新手,最近我正在学习 table 的用法.从教程中我知道Lua对数字索引项和非数字索引项的处理方式不同,所以我自己做了一些测试,今天发现了一个有趣的现象,我无法解释: 代码 t = {1, 2, 3, a='a', b='b'}打印(#t) 得到 3 因为 # 运算符只计算数字索引项.然后我测试了下面的代码 t = {1, 2, 3, a='a', b='b'}打印
..