lua 函数参数传递问题

问题描述

lua 函数参数传递问题

function test(t)
t1 = t
table.insert(t1,10)
end

t = {1,2,3,4}
test(t)

for k, v in pairs(t) do
print (v)
end


为何t插入了10?

解决方案

lua中通过值比较Boolean,String,Number类型的值,而通过引用比较Table,function,userdate类型的值。

?????????????? a = {}; a.x = 1; a.y = 0?
???????????????b = {}; b.x = 1; b.y = 0?
?????????????? c = a?
???????????????a==c......
答案就在这里:LUA函数参数传递问题
----------------------

时间: 2024-11-16 20:55:42

lua 函数参数传递问题的相关文章

Lua 函数用法和它的"诡异"之处

Lua 函数调用时, 需要带括号(对于单个参数的函数,某些值不需要用括号, 如字符串, 表).  但是注意return是可以带括号也可以不带括号的. 这里重点说到括号, 因为括号和返回多值的函数关系很大, 也就是"诡异"的地方, 后面会举例. 函数可以作为一个语句执行, 那有点类似一个过程语言, 执行完的函数结果被抛弃掉. 例如 :  print("abc") -- 这作为一个语句执行. 函数也可以在一个表达式中执行, 那么结果会被返回, 对于多值函数需要注意返回的

c++-关于C++中文件输入输出流作为函数参数传递的问题

问题描述 关于C++中文件输入输出流作为函数参数传递的问题 今天学习C++输入输出流的时候,遇到一个问题,先贴代码: void foutput (ofstream &fout, int m) { for (int i=1;i<=m;i++) { fout << i*i+0.5; } } 上面这个函数的参数中用了一个ofstream类的变量,在下面使用的时候就发现不能直接把ofstream类的实体用到函数中,编译会出错.然后,我把"ofstream fout"变

函数参数传递和动态内存分配的问题

问题描述 函数参数传递和动态内存分配的问题 利用下面这段代码进行动态内存分配有什么问题: char *getmemory(int sum) { char *p=NULL; p=(char *)malloc(sum); return p; } int main() { char *str=NULL; str=getmemory(100); strcpy(str,"hello c!"); printf("%sn",str); } 解决方案 你的主程序需要释放内存,否则可

C++函数参数传递三种方式

       当进行函数调用的时候,要填入与函数形式参数个数相同的实际参数,在程序运行的过程中,实参会将参数值传递给形参,C++函数参数传递有以下三种方式. 一. 值传递 1. 利用值传递方式,实际上是把实参的内容复制到形参中,实参和形参是存放在两个不同的内存空间中.在函数体内对形参的一切修改对实参都没有影响 2. 如果形参是类的对象,利用值传递的话每次都要调用类的构造函数构造对象,效率比较低 3. 看下面这个例子 #include<iostream> #include<algorith

浅谈JavaScript 函数参数传递到底是值传递还是引用传递_javascript技巧

在传统的观念里,都认为JavaScript函数传递的是引用传递(也称之为指针传递),也有人认为是值传递和引用传递都具备.那么JS的参数传递到底是怎么回事呢?事实上以下的演示也完全可以用于Java 首先来一个比较简单的,基本类型的传递: function add(num){ num+=10; return num; } num=10; alert(add(num)); aelrt(num); //输出20,10 对于这里的输出20,10,按照JS的官方解释就是在基本类型参数传递的时候,做了一件复制

javascript自定义函数参数传递为字符串格式_javascript技巧

自定义函数参数传递为 字符串格式 ,传递方式 1:用this传递 2:引号缺省 3:转义字符(html中 " 代表"双引号,'代表单引号,javascript中直接\" 和Java通用转义字符集) <html> <head> <script language="LiveScript"> function print(arg){ alert("你好!"+arg); } </script> &

C++第17周项目1——体会函数参数传递

课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565 [项目1-体会函数参数传递]1.下面三段程序都试图通过定义函数,实现实际参数在必要时的交换,哪些能够实现,哪些不能实现?通过运行程序和单步执行,让自己对这一过程更加清楚,然后请在博文中给出明确的回答,并用你自己的话展开描述(自己的话,但要用术语,用术语讲技术的事,是必须经历的一个过程.) 2.设计一个程序,输入3个整数,将其按从大到小的顺序输出,要求(1)排序功能通过函数

C语言中调用Lua函数实例_Lua

记得上学时,初中英文课本中,上网叫做surfing the internet,中文叫网上冲浪.那个时期,人们经常称互联网为赛博空间.如今工作了,大量的零碎时间用于上微博,知乎,QQ,这些碎片化的阅读让人读起来轻松,也能获取些粗浅的信息.然而它们是消耗时间的黑洞,时间就这样一分一秒地飞逝,年末的时候,知乎会告诉你回答了多少问题,阅读了相当于一部<红楼梦>那么多的文字.只是当你静下来一想,这些浅阅读并没给你带来有深度,系统的知识.在你的时间线上,两条相邻信息往往是八竿子也打不着的.而且你还时不时去

AngularJS中一般函数参数传递用法分析_AngularJS

本文实例讲述了AngularJS中一般函数参数传递用法.分享给大家供大家参考,具体如下: 1. 模型参数 直接使用变量名,不要加引号 <!doctype html> <html ng-app="passAter"> <head> <meta charset="utf-8"/> </head> <body> <div ng-controller="passCtrl">