9.5.3使用序列类型的参数

自定义函数中使用的参数,是来自于集算器的,各类数据类型所对应的Java对象和上一节中介绍的相同。在调用自定义函数时,要注意参数类型要静态方法中的参数匹配。

特别的,序列是集算器中最常使用的数据类型,在自定义函数中,除了返回序列作为结果,同样可以使用序列类型的参数。如:

  public static Double distance6(com.raqsoft.dm.Sequence seq1, com.raqsoft.dm.Sequence seq2) {

  int len1 = seq1.length();

  int len2 = seq2.length();

  double x1 = len1 > 0 ? ((Number) seq1.get(1)).doubleValue(): 0;

  double x2 = len2 > 0 ? ((Number) seq2.get(1)).doubleValue(): 0;

  double y1 = len1 > 1 ? ((Number) seq1.get(2)).doubleValue(): 0;

  double y2 = len2 > 1 ? ((Number) seq2.get(2)).doubleValue(): 0;

  double len = Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));

  len = Math.round(len*1000)/1000d;

    return Double.valueOf(len);

  }

自定义函数distance6计算平面直角坐标系中两个点之间的距离。在调用时,两个点的坐标需用序列类型的参数传入。如:

 

A

1

[1,1]

2

[3,3]

3

=invoke(test.Calc01.distance6,A1,A2)

计算后,A3中的结果如下: