在TSL语言中,与绝大多数语言不同的是,对形参与实参的支持是通过调用者而不是函数申明来实现的。
例如调用上边的Pascal的代码写成TSL可以这样写:
RealA:=100;
RealB:=200;
Writeln(Abcd(In RealA,Out RealB));
Writeln("RealA=",RealA,"RealB=",RealB);
Function abcd(a,b);
Begin
A:=a*2;
B:=b*3;
Abcd:=A+B;
End;
这样运行的结果和上边的一摸一样,TSL用in或者const表示送入的为值(形参),而用out或者var表示送入的为引用(实参)。
既然上边说到了TSL语言默认都是实参,为什么还多此一举加入了out,var前缀呢?