天软金融分析.NET函数大全 > TSL函数 > 系统相关函数 > 表达式相关函数

Eval    

简述
表达式求值。返回,表达式的值。字符串表达式中支持return。TSL.EXE支持 tsl -eval "echo 100"的模式直接调用TSL语句。
表达式允许在跨函数中传导引用参数和变量
定义
Eval(<exp:TExpression>):Any
参数
名称类型说明
expTExpression表达式类型,要计算的表达式。函数表达式直接执行,字符串表达式需在字符串前加&。
  • 范例


    范例01:
    //表达式是字符串表达式。&转换字符串为表达式。
    A:='1';
    B:='2';
    Return eval(&('A+B'));//返回值为表达式的结果:'12'。

    范例02:
    //表达式是语句表达式
    A:=1;
    B:=2;//A,B均为整型数据
    Return eval(@(A+B));
    //返回值为整型数据:3,@(A+B)可以是一个执行语句块,调用该函数会得到执行语句块后的结果。

    范例03://字符串表达式中进行return返回。

    s:='a:=1;b:=2;return a+b;';
    return eval(&s);

    //结果:3
    范例4:跨函数中传导引用参数和变量
      setsysparam(pn_stock(),"SH600507");
      return eval_test("StockZf4(t)",20250723t);
      
    function eval_test(e,endt);
    begin
      t:=specdate(ref(sp_time(),1),endt);
      return array(datetostr(t),eval(&e));
    end

    结果:


    参考
    Call CallInArray 
相关
FAQ/知识库链接