Sas Proc FCMP-默认参数值

Sas Proc FCMP-默认参数值,sas,fcmp,Sas,Fcmp,是否可以为proc fcmp功能参数指定默认值?大概是这样的: proc fcmp outlib=work.funcs.funcs; function my_func(param1, param2='default_value_here' $); * DO STUFF; endsub; run; 从我收到的文档和错误消息来看,我没有看到任何迹象表明它得到了支持,但如果是这样的话,这似乎是一个很大的疏忽 SAS 9.4TSM4以您描述的方式是不可能的(显然,您可以通过在函数本

是否可以为
proc fcmp
功能参数指定默认值?大概是这样的:

proc fcmp outlib=work.funcs.funcs;

  function my_func(param1, param2='default_value_here' $);
    * DO STUFF;
  endsub;

run;
从我收到的文档和错误消息来看,我没有看到任何迹象表明它得到了支持,但如果是这样的话,这似乎是一个很大的疏忽


SAS 9.4TSM4

以您描述的方式是不可能的(显然,您可以通过在函数本身中应用等效逻辑来模拟默认值)。问题是,如果存在默认值,则无法调用它

您可以看到,
proc fcmp
不支持“可选”参数(VARARGS数组除外)。因此,您必须始终提供一个值(可能包括缺少的或空引用),因此将永远不会应用默认值


如果这在SASware投票中出现,它会得到我的投票——可选参数绝对应该是fcmp中的一个选项

不幸的是,FCMP有很多局限性,这是因为它最初是添加到语言中以支持某些过程的,后来才添加到数据步骤中,据我所知,它从未真正打算成为编写代码的第一类方法。唉。IIRC——几年后,它的驱动力转移到了其他项目上,而FCMP从未真正获得足够的支持成为一流——也许是因为希望DS2能够取代它(别让我开始这么做……),不幸的是,宏语言在函数方面仍然占上风。