FAQ > 金融建模 > 建模问题 > 系统参数

Q:如何使用全局变量global    

  • A:在新建函数后的第一句对global参数进行标记。
    标记方法:
    global 变量名1,变量名2,变量名3...;
    其中,global是全局变量的关键字。
    注意,如果在函数体内定义的话,必须是函数体内的第一个语句句;另外,可以在function 函数名称 和begin之间,即在函数体外。
    全局变量在子函数中使用时,子函数也需要对该全局变量进行标记,否则在没有标记的子函数中,它还是局部变量。
    范例1:
    Function Function15();
    Begin
    global x,y;
    x:=10;
    y:=20;
    return fun1();
    End;

    function fun1();
    begin
      global x,y;
      return x+y;
    end;

    在范例1的Function15中,定义了x和y是全局变量,在fun1中也把x和y识别为全局变量,在Function15中对全局变量x和y进行了赋值,调用fun1时,x和y做的是对已赋值的全局变量x+y的操作。返回结果是30。

    范例2:
    Function Function15();
    Begin
    global x,y;
    x:=10;
    y:=20;
    return fun1();
    End;

    function fun1();
    begin
      global x;
      return x+y;
    end;
    在范例2的Function15中,定义了x和y是全局变量,但在fun1中只把x识别为全局变量,虽然在Function15中对全局变量x和y都进行了赋值,但fun1中的y识别是局部变量,在fun1中没有进行赋值,y为0,所以返回结果是10。