您现在的位置是:主页 > news > 北京app设计公司/seo销售话术开场白

北京app设计公司/seo销售话术开场白

admin2025/6/9 0:15:00news

简介北京app设计公司,seo销售话术开场白,wordpress清理软件,聊城做网站优化2019独角兽企业重金招聘Python工程师标准>>> lua 除了简单类型分配内存外,table只是传递引用,所以不能用简单的 "" 来copy两个表,并试图修改一个表中的值。 tb {} tb.a 11 tb.b 22 tb_ref tb function p(tip)print(…

北京app设计公司,seo销售话术开场白,wordpress清理软件,聊城做网站优化2019独角兽企业重金招聘Python工程师标准>>> lua 除了简单类型分配内存外,table只是传递引用,所以不能用简单的 "" 来copy两个表,并试图修改一个表中的值。 tb {} tb.a 11 tb.b 22 tb_ref tb function p(tip)print(…

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

    lua 除了简单类型分配内存外,table只是传递引用,所以不能用简单的 "=" 来copy两个表,并试图修改一个表中的值。

tb = {}
tb.a = 11
tb.b = 22
tb_ref = tb
function p(tip)print("--------------------------"  .. tip)print("tb.a = " .. tb.a .. "    " .. "tb.b = " .. tb.b)print("tb_ref.a = " .. tb_ref.a .. "    " .. "tb_ref.b" .. tb_ref.b)
end
p("原始")
tb_ref.a = 33
p("修改了引用的a = 33,原来的a也变了")
tb.b = 44
p("修改了原始的b = 44,引用的b也变了")
print("----------------------非表test")
a = 1
c = a
c = 3
print("a = " .. a)
print("c = " .. c) 打印结果:
--------------------------原始
tb.a = 11    tb.b = 22
tb_ref.a = 11    tb_ref.b22
--------------------------修改了引用的a = 33,原来的a也变了
tb.a = 33    tb.b = 22
tb_ref.a = 33    tb_ref.b22
--------------------------修改了原始的b = 44,引用的b也变了
tb.a = 33    tb.b = 44
tb_ref.a = 33    tb_ref.b44
----------------------非表test
a = 1
c = 3

  1,当改变表的一个值以后,它的引用的值也发生了变化。

  2,对于非表的一般常数来说,它的赋值不存在引用的问题。

LuaTable的拷贝方法:

方法一:

function th_table_dup(ori_tab)if (type(ori_tab) ~= "table") thenreturn nil;endlocal new_tab = {};for i,v in pairs(ori_tab) dolocal vtyp = type(v);if (vtyp == "table") thennew_tab[i] = th_table_dup(v);elseif (vtyp == "thread") then-- TODO: dup or just point to?new_tab[i] = v;elseif (vtyp == "userdata") then-- TODO: dup or just point to?new_tab[i] = v;elsenew_tab[i] = v;endendreturn new_tab;
end

方法二:

function deepcopy(object)local lookup_table = {}local function _copy(object)if type(object) ~= "table" thenreturn objectelseif lookup_table[object] thenreturn lookup_table[object]end  -- iflocal new_table = {}lookup_table[object] = new_tablefor index, value in pairs(object) donew_table[_copy(index)] = _copy(value)end  -- forreturn setmetatable(new_table, getmetatable(object))end  -- function _copyreturn _copy(object)
end  -- function deepcopy

参考网址:

http://blog.sina.com.cn/s/blog_49bdd36d0100fdc1.html

http://www.360doc.com/content/13/1112/21/14605176_328731142.shtml

转载于:https://my.oschina.net/u/223340/blog/301668