zoukankan      html  css  js  c++  java
  • 关于Lua中的out和ref

    原贴: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的取值,必需要传递一个参数
  • 相关阅读:
    JAVA 多态
    win10 快捷键
    MSTAR SETBOX 常用API
    MSTAR GUI
    APACHE2 服务器配置 (一)
    MSTAR SERVICE结构
    各个国家 不同字符集的unicode 编码范围
    PhpStorm中如何配置SVN,详细操作方法
    PHP/Javascript 数组定义 及JSON中的使用 ---OK
    The "Run One Program Only" Phenomenon
  • 原文地址:https://www.cnblogs.com/vsirWaiter/p/8176076.html
Copyright © 2011-2022 走看看