proc fcmp
関数は、ハッシュオブジェクトをパラメータとして渡すことができます。ドキュメントは少し曖昧で、この機能が他のfcmp
関数からの呼び出しに制限されているのか、データステップ呼び出しから許可されているのかについては言及していません。FCMPパラメータとしてハッシュオブジェクトを渡す
私はデータステップでハッシュを定義し、そのハッシュをfcmp
関数への参照によって渡そうとしています。しかし、私は以下のコードを試してみると、それは私に与えている:NOTE: Invalid type conversion
と私はどこに間違っているか(またはこれが可能な場合でも)わからない。
option cmplib=work.funcs;
proc fcmp outlib=work.funcs.funcs;
function test(h hash);
return (0);
endsub;
run;
data _null_;
format pos best.;
if _n_ eq 1 then do;
declare hash h();
rc = h.definekey('pos');
rc = h.definedone();
call missing (pos);
end;
xx = test2(h);
put _all_;
run;
これは、私が最終的にパラメータとして同じハッシュテーブルを渡すことができるいくつかの機能を持っているためです。
一連のマクロを書くのではなく、このような状況で 'proc fcmp'を使用する特別な動機はありますか? – user667489
それはとても涼しいです!私は本当にこれに興味があります。他の情報はありますか? –
@StuSztukowskiここにいくつかのリンクがあります:http://support.sas.com/resources/papers/proceedings13/129-2013.pdfおよびhttp://support.sas.com/kb/47/224.html –