博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于Lua中的out和ref
阅读量:5086 次
发布时间:2019-06-13

本文共 1280 字,大约阅读时间需要 4 分钟。

原贴:http://blog.csdn.net/sinat_20559947/article/details/48065719

luaframework中只有out的实例:TestOut.unity

 直接上例子:

C#代码:

using System;using LuaInterface;namespace myLua{    class MainClass    {        public string name = "Ocean";        public void CSharpMethod(string name ,out int count)        {            Console.WriteLine ("这是C#里的一个方法");            count = name.Length;        }        public void TestRef(string name,ref int count)        {            Console.WriteLine (name);            Console.WriteLine (count);            count = name.Length;        }        public static void Main (string[] args)        {                // 创建一个Lua解释器                                    Lua lua = new Lua();                        // 在C#中使用lua的语法调用lua脚本                                    lua.DoFile("luaScript.lua");                              }      }}

Lua代码:

myClass = MainClass()  print(myClass.name)  returnValue,strLength = myClass:CSharpMethod("Ocean")  --myClass:CSharpMethod("Ocean",nil) --一般情况下最好是这么写,不要省略那个参数 --这个地方一般是要加上第二个参数,传递nil,因为在通过射线取hit的方法中,获取的out的值并不是在参数的末尾,如果不传一个nil,好像是会报错的 print(returnValue, strLength) --returnValue是方法的返回值,如果没有返回值就返回nil returnValue,count = myClass:TestRef("Ocean",5) --这里第二个参数是ref的取值,必需要传递一个参数

 

转载于:https://www.cnblogs.com/vsirWaiter/p/8176076.html

你可能感兴趣的文章
uni-app教程入门视频资料
查看>>
PHP 语法
查看>>
java程序在linux上持续运行方法 nohup 和 tmux
查看>>
Tomcat组件梳理—Service组件
查看>>
图解 HTTP 笔记(二)——简单的 HTTP 协议
查看>>
AcWing:173. 矩阵距离(bfs)
查看>>
C# 正则表达式
查看>>
Spring Cloud 入门教程(四): 分布式环境下自动发现配置服务
查看>>
Spring Cloud 入门教程(六): 用声明式REST客户端Feign调用远端HTTP服务
查看>>
Spring Cloud 入门教程(一): 服务注册
查看>>
【2.2】创建博客文章模型
查看>>
【3.1】Cookiecutter安装和使用
查看>>
【2.3】初始Django Shell
查看>>
Linux(Centos)之安装Redis及注意事项
查看>>
正则表达式总结
查看>>
JavaWeb之Servlet的生命周期
查看>>
maven学习
查看>>
程序4-3 umask函数实例
查看>>
GitHub上那些值得一试的JAVA开源库
查看>>
linux 删除暂时无用内容
查看>>