首页 > 其他分享 >Lua中调用ref和out修饰参数的函数/重载函数

Lua中调用ref和out修饰参数的函数/重载函数

时间:2024-05-23 23:41:12浏览次数:22  
标签:函数 .. int Lua print -- ref out

[12] lua中调用ref 和 out 修饰参数的函数数值

public int RefCompute(int a, ref int b, ref int c, int d)
{
    b += a;
    c += d;
    return b + c;
}

public int OutCompute(int a, out int b, out int c,int d)
{
    b = a + 1;
    c = d + 2;
    return b + c;
}

public int RefOutCompute(int a, ref int b, out int c,int d)
{
    a += b;
    c = d + 3;
    return a + c;
}

lua脚本中进行调用

------------------lua中调用C#的ref 和 out方法
---- lua调用ref参数的函数 ref修饰的参数会返回值形式返回
---第一个返回值为函数返回会值
---之后返回值为ref修饰的参数结果
local a,b,c = student:RefCompute(1,2,3,4)
print("a=" .. a) -- 10
print("b=" .. b) -- 1+2
print("c=" .. c) -- 3+4

--与ref修饰参数一样
---out修饰的参数也会随结果返回
local d,e,f = student:OutCompute(10,9,8,7)
print("d=" .. d) -- 20
print("e=" .. e) -- 10 + 1
print("f=" .. f) --7 + 2

--调用参数类型含有ref和out修饰的函数
--会依次随着函数结果返回
local d,e,f = student:RefOutCompute(10,9,8,7)
print("d=" .. d) -- 19
print("e=" .. e) -- 9 ref修饰参数返回值 参数数值未变
print("f=" .. f) --10+ 9+ 3 + 7 out修饰参数返回值

image-20240523221229817

[13]Lua中调用C#的重载函数

几个简单的方法,注意有out修饰参数类型的重载函数.

img

lua脚本中调用:

img

运行结果:

image-20240523232123784

标签:函数,..,int,Lua,print,--,ref,out
From: https://www.cnblogs.com/TonyCode/p/18209616

相关文章

  • C++Linux系统编程——文件和目录操作函数
    stat函数(重要)#include<sys/types.h>#include<sys/stat.h>#include<unistd.h>​intstat(constchar*path,structstat*buf);intlstat(constchar*pathname,structstat*buf);功能: 获取文件状态信息 stat和lstat的区别:   当文件是一个符号......
  • 深入理解C++多态-虚函数
    引言C++多态的实现方式可以分为静态多态和动态多态,其中静态多态主要有函数重装和模板两种方式,动态多态就是虚函数。下面我们将通过解答以下几个问题的方式来深入理解虚函数的原理:为什么要引入虚函数?(用来解决什么问题)虚函数底层实现原理使用虚函数时需要注意什么?正文......
  • 在C++中,将类的成员函数(也称为方法)作为参数传递
    在C++中,你可以将类的成员函数(也称为方法)作为参数传递,但这通常涉及到使用函数指针或者更现代的C++11及以后版本的std::function和lambda表达式。不过,更常见的是传递成员函数指针,但请注意,成员函数指针与常规函数指针在语法和使用上有所不同,因为成员函数需要访问类的特定实例(即对象)。......
  • 掌握pandas cut函数,一键实现数据分类
    pandas中的cut函数可将一维数据按照给定的区间进行分组,并为每个值分配对应的标签。其主要功能是将连续的数值数据转化为离散的分组数据,方便进行分析和统计。1.数据准备下面的示例中使用的数据采集自王者荣耀比赛的统计数据。导入数据:#2023年世冠比赛选手的数据fp=r"D......
  • lua的table, string, class常用扩展
    --lua扩展--table扩展--返回table大小table.size=function(t)localcount=0for_inpairs(t)docount=count+1endreturncountend--返回table的最大valuetable.maxn=function(t)localmaxn=nilfor_,vinpai......
  • 友元函数
    特点友元函数不是成员函数,所以友元函数没有this指针。它可以访问类的私有(private)和保护(protected)成员。友元函数通常定义在类外,但在类中声明为友元。注意友元的定义要么放在最开始,要么放在最后。友元函数在类的定义中,可以使用friend关键字来声明一个友元函数。classMyCl......
  • mysql 取最后一条数据的函数
    在MySQL中,要获取表中的最后一条数据,通常会使用ORDERBY子句结合LIMIT子句来实现。但是,如果您的表中没有明确的排序字段,或者想要获取实时的最后一条数据(例如,在插入新数据后),您可以使用LAST_INSERT_ID()函数,这个函数返回最后一个被插入的自增ID值。如果您的表设置了自增主键,那么在插......
  • 力扣-636. 函数的独占时间
    1.题目题目地址(636.函数的独占时间-力扣(LeetCode))https://leetcode.cn/problems/exclusive-time-of-functions/题目描述有一个单线程CPU正在运行一个含有n道函数的程序。每道函数都有一个位于 0和n-1之间的唯一标识符。函数调用存储在一个调用栈上:当一个函......
  • C++类中封装指针函数
      classMyClass{public:voidfunc1(){//实现}voidfunc2(){//实现}//成员函数指针类型typedefvoid(MyClass::*MemberFuncPtr)();//一个成员函数指针成员变量MemberFuncPtrptrFunc;......
  • openAI assistants的自定义函数调用——类似HiAgent
    openAIassistants的自定义函数调用功能先添加函数: 和字节的hiagent非常相似。定义好函数以后。然后就是在客户端通过如下代码调用:  #读取系统变量fromdotenvimportload_dotenvload_dotenv()fromopenaiimportOpenAI#初始化客户端client=OpenAI()......