你真的了解PeopleSoft中的function和method方法嘛

谈下function和method在内嵌与外部传参的区别


1、内嵌函数(Internal Functions)

看下现在输出&x的话会返回什么值?

2、内嵌函数(Internal Functions)

看下现在输出&x的话会返回什么值?

3、外部引用函数(External Functions)

看下现在输出&x的话会返回什么值?

4、字段类(Field Class)

看下&f.value和&g.value返回什么值?

5、原始类型(Primitives)

看下&a和&b的值?

6、App classes

看下&p的值?

7、App classes

看下&r返回的值?


是不是有点懵,写了几年的peoplecode如果不真理解,还真就稀里糊涂的继续用。

下面公布答案及解释。

1、变量在本地内部参数之间传递的是引用,也就是说&x和&n指向的是同一个变量。所以&x = 2

2、变量在本地内部参数之间传递的是引用,&x存在于函数的外部和内部,在调用函数的时候,&n指向了&x,所以&n=2执行的时候,&x=2,后一句&x=4 变量&x又被赋值为4所以最后输出&x=4。

3、变量在外部函数中传递的是引用,&x的赋值只在函数本地有效,也就是外部的&x与函数中的&x是两个变量。所以&x=2。

4、对象在被赋值时候,传递的是引用。所以&g和&f都指向同一个值。&f.value="g" &g.value="g";

5、原始类型赋值,传递的就是值。所以&a="a";&b="b";

6、原始类型在类中传递的是值。所以&p = 1;

7、对象在类中传递的是引用。所以&r="xyz";

关注我的公众号:

原文地址:https://www.cnblogs.com/eason-liu/p/7136065.html