lua传"值"和传"引用"

例子一


x = 1
y = x
y = 10
print(x)

输出:1


例子二

<pre name="code" class="java">function change(x)
  x = 10
end

y = 1
change(y)
print(y)

输出:1

 

例子三

x = "test"
y = x
x = "show"
print(y)

输出:test


例子四

x = {abc = "123",456}
y = x
x.abc = "xixi"
print(y.abc)

输出:xixi


例子五

function show()
  print("show some thing")
end 

function move()
  print("move to")
end

x = show
y = x
x = move
y()
x()

输出:show some thing
      move to

例子六

x = {123,"test"}
y = x[1]
x[1] = 456
print(y)

输出:123



从上面的例子可以看出来,只有例子四相当于:传引用. 例子一,二,三,五,六都是:传值


所以可以说明:只有table是传引用(相当于一个指针a将地址传给指针b,它们所指向的内容都是一样的)


  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值