TSL语言基础 > TSL语言基础 > 函数定义体和函数

匿名函数    

  •   除了匿名函数不允许带函数名以外,定义一个匿名函数和普通函数看起来没啥差异,匿名函数的本质就是函数指针,可以用Call、CallInArray或者##来直接调用。

      匿名函数的作用域
      当匿名函数定义在一个类的方法中,则匿名函数可以访问成员以及方法。
      由于宿主函数的运行会结束,为防止不合理的使用导致非法访问, TSL语言不允许匿名函数访问宿主函数的临时变量

      一个匿名函数的定义以及使用案例:
    //定义一个匿名函数A
      A:=function(x,y) begin
        return x+y;
      End;
    //匿名函数(函数指针)可以作为参数传入函数
      BB(A);
      Function BB(fun);
      begin
       Echo Call(fun,1,2);//用call方式调用
       Echo ##fun(5,6);//##直接调用函数指针
      End;

      注:匿名函数也可以直接在函数参数中直接定义
      例如:
      BB(function(x,y) begin
        return x+y;
      End);