【新手求教大神】请问.lua可以直接传table资料给另一个.lua
lua吧
全部回复
仅看楼主
level 3
新手刚接触lua,我做了3个.lua,好像没法动,可以请问错在哪,data.lua的资料可以那样存入吗,我是想把资料存入后之后有其他的.lua可以读取,求大神可以教我吗,可以告诉我我的问题该去看哪些资料来学习,感激不尽
------
main.lua
------
local function main()
--作测试的资料
local GPGGA="$GPGGA,085548.000,2237.8465,N,12018.4326,E,1,06,1.2,60.6,M,18.7,M,,0000*61"
--载入string
require"string"
m={}
m=string(GPGGA)
print(m[1]) ---测试有没有资料
--载入save
require“save”
save(m{})
end
main()
------
string.lua---切字串
------
function string(a{})
local a={0}
local w={0}
for w instring.gmatch(a, "[0-9A-Z%*%$%.]+")do
a[i]=w
end
return a{}
end
-----
save.lua ---存入data的table里面
-----
function save(b{})
local data = {}
for i,v in pairs(GPGGA) do
data[i] =v
print("9999999999999999999")----测试有没有进入forloop
end
for i=1,#(data) do---看看资料有没有进去
print(data[i])
end
end
2014年05月08日 02点05分 1
level 8
代码中各种语法错误,先去找些Lua入门的资料看看吧。从本吧置顶看起。
2014年05月08日 02点05分 2
level 13
------------
-- main.lua
------------
local function main()
--作测试的资料
local GPGGA="$GPGGA,085548.000,2237.8465,N,12018.4326,E,1,06,1.2,60.6,M,18.7,M,,0000*61"
--载入string
require "myString"
local m=myString(GPGGA)
--载入save
require "save"
save(m)
end
main()
------------
--myString.lua
----string是关键词,换个名字避免冲突
------------
function myString(a)
local b = {}
for w in string.gmatch(a, "[0-9A-Z%*%$%.]+") do
table.insert(b,w)
end
return b
end
------------
--save.lua
--存入data的table里面
------------
function save(b)
local data = {}
for i,v in pairs(b) do
data[i] =v
end
for i=1,#(data) do---看看资料有没有进去
print(data[i])
end
end
-------------------------------------------------------------------
运行结果:
$GPGGA
085548.000
2237.8465
N
12018.4326
E
1
06
1.2
60.6
M
18.7
M
0000*61
2014年05月08日 11点05分 4
string是关键词我真的不知难怪错误讯息一直跑出它retrun用函数名称就可以使用又学到新东西了谢谢大神
2014年05月10日 18点05分
回复 皮卡毅 :其实string是个库函数,你完全可以自己写一个代替它。关键问题你程序中又用到了string.gmatch,这就有冲突了。
2014年05月11日 01点05分
1