zoukankan      html  css  js  c++  java
  • 关于function和task的说明

     1.  关于函数function调用,总结两个要点:

           1.  函数调用一般产生一个值,这个值被赋值给某个变量

           2.  函数所返回的值只能是一个,不可以是多个,不能像C语言中采用指针的方式返回多个值。因此,如果想产生多个结果则需要采用别的方式,实际上就是任务

    下面给出一段具体的代码(虽然很简单),体会函数的作用:

       图1  函数调用图

           这个函数的功能是完成了输入的三位二进制数的阶乘和,比如输入6,则完成1!+2!+3!+4!+5!+6!,。而sum_factorial(in)中的in就是要求的最大阶乘值,比如这里的6,sum_factorial则是函数名,通过函数可以发现,最终的结果实际上付给了函数名,即一般使用时,认为函数名就是函数的输出,因此有必要对函数名的数据格式进行声明,使得它能够和被赋值的变量的类型格式一致,比如这里的out。在这里,我们发现,函数的作用,突出产生了一个值,即我们要产生一个值,然后赋给一个变量。这里也体现了函数也是为了完成一个功能,但他强调这个功能的单值结果是什么。并且我们需要这个结果去干别的事情,即被赋值。并且,函数只能返回一个值!!!

        2.关于任务的调用总结如下:

          2.1  任务的调用强调完成一个功能,并不产生赋值作用

         2.2  任务调用可以产生多个结果(类似于C语言中函数中的指针)

    下面举例说明任务:

     

    图2  任务调用图

    从图中可以看出,任务完成了两个数交换的功能,而且并不赋值;说明了任务核心在于完成功能;在此需要这里这里的一个细节。任务中的x,y变量被定义成了inout双向形式的变量,这是因为,x,y实际上是相当于形参,最终还要将计算的结果返回去,送出去。即任务就像,送进来东西,经过加工,再送回去。

  • 相关阅读:
    Unity热更新03-C#调用XLua-06-将Lua表 映射到C#的列表和字典
    Unity热更新03-C#调用XLua-05-C#调用Lua函数
    Unity热更新03-C#调用XLua-04-C#调用Lua全局变量
    Unity热更新03-C#调用XLua-03-LuaMgr
    Unity热更新03-C#调用XLua-02-用户自定义加载Lua脚本
    Unity热更新02-Lua基础-016-Lua垃圾回收
    Unity热更新02-Lua基础-015-Lua自带库
    Unity热更新02-Lua基础-014-Lua"面向对象"总结
    Unity热更新02-Lua基础-014-Lua初识"面向对象"
    Unity热更新02-Lua基础-013-Lua元表
  • 原文地址:https://www.cnblogs.com/shaonianpi/p/7994966.html
Copyright © 2011-2022 走看看